【问题标题】:iOS : How do i convert NSString to NSMutableData?iOS:如何将 NSString 转换为 NSMutableData?
【发布时间】:2014-06-12 15:28:42
【问题描述】:

我正在尝试在不使用encoding 的情况下将我的NSString 转换为NSMutableData。我怎样才能做到这一点?

【问题讨论】:

  • 你是什么意思没有编码?你想在这里实现什么目标?
  • An NSString 内部使用了 UTF16,但我怀疑您是否想要这些字节。因此,您想要什么编码?如果字符串包含 Å 甚至 ?????

标签: ios objective-c nsstring nsmutabledata


【解决方案1】:

这个怎么样?

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

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

【讨论】:

  • 尊重您的努力,先生。我认为您的回答稍后会有所帮助。
【解决方案2】:

正如这里指出的:NSString value to NSData,您可以使用dataUsingEncodingNSString 转换为NSData

要将其放入NSMutableData 容器中,只需创建一个mutableCopy,如下所示:

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

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

【讨论】:

    【解决方案3】:

    为什么这个问题被否决了?

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

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

    【讨论】:

    • 我想它会帮助你
    猜你喜欢
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-12-10
    • 1970-01-01
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多