avn*_*nic -1 iphone cocoa cocoa-touch
我有一个用UTF8编码的NSstring.我想解码它.
我试过这个,但它不起作用:
NSString *decodedString = [NSString stringWithUTF8String:[encodedString cStringUsingEncoding:[NSString defaultCStringEncoding]]];
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
谢谢
发送cStringUsingEncoding:到encodedString只能encodedString是NSString对象才能工作.拥有一个NSString对象是你想要达到的目标.此外,该方法不解码字符串,它使用您要求的编码对字符串进行编码; 因此,在您显示的代码中,您要求(已编码的)字符串以某种随机编码(默认C字符串编码)进行编码,然后尝试将结果解码为UTF-8.那不行.
您没有指定您正在使用的类型encodedString.无论哪种方式,您都需要通过传递encodedString及其编码来创建NSString对象.
encodedString是NSData对象,请使用该initWithData:encoding:方法.initWithCString:encoding:方法或(仅当它是UTF-8时)该initWithUTF8String:方法.initWithBytes:length:encoding:方法.所有这些除了initWithUTF8String:要求你指定编码(initWithUTF8String:根据定义)和所有这些,除了initWithData:encoding:进入自动释放便利版本(+stringWith…而不是-initWith…).
| 归档时间: |
|
| 查看次数: |
1281 次 |
| 最近记录: |