iOS:如何将NSString转换为NSMutableData?

时间:2014-06-12 15:28:42

标签: ios objective-c nsstring nsmutabledata

我正在尝试将NSString转换为NSMutableData而不使用encoding。我怎么能做到这一点?

3 个答案:

答案 0 :(得分:1)

这个怎么样?

NSString *str = @"grazz";
NSMutableData *data1 = [[str dataUsingEncoding:NSUTF8StringEncoding] mutableCopy];
NSMutableData *data2 = [NSMutableData dataWithBytes:[str UTF8String] length:[str length]];

ps:我不确定“没有编码”,你的意思是什么?

答案 1 :(得分:1)

正如此处所指出:NSString value to NSData,您可以使用dataUsingEncodingNSString转换为NSData

要将其放在NSMutableData容器中,只需制作一个mutableCopy,就像这样:

NSString *string = @"MyString";
NSMutableData *mutableData = [[string dataUsingEncoding:NSUTF8StringEncoding] mutableCopy];

至于“不使用encoding”这样做,字符串将始终被编码。即使您没有设置任何特定的encoding,该字符串仍将被编码。我认为上面的解决方案可以解决您的问题。

答案 2 :(得分:0)

为什么这个问题被贬低了?

NSString* str = @"teststring";
NSData* data = [str dataUsingEncoding:NSUTF8StringEncoding];
NSMutableData *yourdata = [data mutableCopy];

首先,您必须转换为NSData,然后转换为NSMutableData。据我所知,我们无法从NSMutableData直接转换为NSString