我有一個字符串,我想要一個字節數組。到目前爲止,我已經使用NSData的做到這一點:如何使用NSString getBytes:maxLength:usedLength:encoding:options:range:remainingRange:
NSString *message = @"testing";
NSData *messageData = [message dataUsingEncoding:NSUnicodeStringEncoding allowLossyConversion:YES];
NSUInteger dataLength = [messageData length];
Byte *byteData = (Byte*)malloc(dataLength);
memcpy(byteData, [messageData bytes], dataLength);
但是,我知道的NSString有getBytes:maxLength:usedLength:encoding:options:range:remainingRange:
方法,讓我用NSData的一起跳過。我的問題是,我不知道如何正確設置所有參數。
我假設傳入的指針數組必須是malloc'ed - 但我不知道如何找到多少內存malloc。我知道有[NSString lengthOfBytesUsingEncoding:]
和[NSString maximumLengthOfBytesUsingEncoding:]
,但我不知道這些是我需要使用的方法,並沒有完全理解它們之間的區別。我認爲這將是給予maxLength
相同的價值。其餘的參數從文檔中是有意義的。任何幫助都會很棒。謝謝。