ios - 如何将日语中的 NSData 转换为 NSString

标签 ios objective-c nsstring nsdata

当我将 NSString 转换为 NSData 时,在从 NSData 转换为 NSString 之后

NSString *input = @"ステータス";
NSData *output = [NSData dataWithBytes:[input UTF8String] length:[input length]];
NSString *output2 = [[NSString alloc] initWithData:output encoding:NSUTF8StringEncoding];

输出2为零。
如果输入的是字母字符,就可以。

最佳答案

正确的转换是

NSData* output = [input dataUsingEncoding:NSUTF8StringEncoding];

您的代码的问题是 [input length] 给出了 Unicode 字符数,而不是 UTF-8 字节数。

关于ios - 如何将日语中的 NSData 转换为 NSString,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22214847/

相关文章:

ios - 如何使用 AutoLayout 动画向上滑动 UIView?

iphone - 在 iPhone 上完美连续地播放声音

ios - NSBundle pathForResource : returns nil

ios - UI图像颜色校正

iphone - 从子类应用程序委托(delegate)调用应用程序委托(delegate)方法

ios - 通过不同的函数同时调用一个对象到内存中

ios - 无法将类型 '__NSSingleObjectArrayI' 的值转换为 'NSString'

ios - 带有图像的 UIBarButtonItem 不显示

ios - 如何从 IOS Swift 3 的饼图部分中删除文本?

iphone - 如何获取 NSString 的大小