我想的NSString值轉換爲NSData的無編碼,即我使用在我的項目轉換的NSString NSData的
NSData* aData = [[NSData alloc] initWithData:[[self getStringValue] dataUsingEncoding:NSUTF8StringEncoding]];
當我使用該字符串值進行編碼,但我想沒有相同的字符串值編碼,我怎麼能得到這個
謝謝
我想的NSString值轉換爲NSData的無編碼,即我使用在我的項目轉換的NSString NSData的
NSData* aData = [[NSData alloc] initWithData:[[self getStringValue] dataUsingEncoding:NSUTF8StringEncoding]];
當我使用該字符串值進行編碼,但我想沒有相同的字符串值編碼,我怎麼能得到這個
謝謝
您將始終需要選擇某種類型的編碼。我總是推薦NSUTF8StringEncoding。但是,如果您只需要存儲原始字符字節而不需要UTF8編碼,那麼這些是您的最佳選擇。
// for latin/english only characters
NSData* aData = [self dataUsingEncoding:NSACSIIStringEncoding];
// for international characters
NSData* aData = [self dataUsingEncoding:NSUnicodeStringEncoding];
您需要的編碼,否則將無法正常工作。它需要知道字符串存儲的格式。它需要知道字節存儲的格式。但是,您應該使用NSACSIIStringEncoding。
嗨賈斯汀感謝您的快速回復,其實我必須隱藏字符串數據並將其傳遞給[[NSXMLParser al本地] initWithData:數據]如果我轉換的值是編碼,我無法獲得分析值 – kiri 2010-09-11 19:01:56
將字符串轉換,因爲它是使用下面的代碼:
-(NSData*)getDataFromString:(NSString*)theString
{
NSMutableData *mData = [NSMutableData data];
unsigned value;
NSScanner *scanner = [NSScanner scannerWithString:theString];
while(![scanner isAtEnd]) {
[scanner scanHexInt:&value];
value = htonl(value);
[mData appendBytes:&value length:sizeof(value)];
}
return [NSData dataWithData:mData];
}
而調用這個函數:
NSData *data = [self getDataFromString:@"Your_String"];
的[
可能重複我如何轉換的NSString值到NSData?](http://stackoverflow.com/questions/901357/how-do-i-convert-a-nsstring-value-to-nsdata) – 2013-07-24 07:04:59