iOS:将@“\ r \ n \ u4f60 \ u5f00 \ u4ec0”更改为右侧字符串

时间:2015-03-05 01:27:43

标签: ios encoding

我得到了NSString @" \ r \ n \ u4f60 \ u5f00 \ u4ec0 \ u4e48 \ u73a9 \ u7b11 \ u554a \ u7b2c \ u4e00 \ u6211 \ u7684 \ u811a \ u8fd8 \ u6ca1 \ u6709 \ u590d \ u539f& #34;来自网络服务器。而且我知道这不是正确的字符串。也许关于编码的事情是错误的。我想将该字符串更改为正确的字符串。

2 个答案:

答案 0 :(得分:0)

你可以打开python解释器,输入"打印你的\ r \ n \ u4f60 \ u5f00 \ u4ec0 \ u4e48 \ u73a9 \ u7b11 \ u554a \ u7b2c \ u4e00 \ u6211 \ u7684 \ u811a \ u8fd8 \ u6ca1 \ u6709 \ u590d \ u539f' &#34 ;.

输出是"

你开什么玩笑啊第一我的脚还没有复原"

答案 1 :(得分:-1)

我觉得这很有效。

    - (NSString *)replaceUnicode:(NSString *)unicodeStr
{
    NSString *tempStr1 = [unicodeStr stringByReplacingOccurrencesOfString:@"\\u"withString:@"\\U"];
    NSString *tempStr2 = [tempStr1 stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];
    NSString *tempStr3 = [[@"\"" stringByAppendingString:tempStr2] stringByAppendingString:@"\""];
                          NSData *tempData = [tempStr3 dataUsingEncoding:NSUTF8StringEncoding];
                          NSString* returnStr = [NSPropertyListSerialization propertyListFromData:tempData
                                                                                 mutabilityOption:NSPropertyListImmutable
                                                                                           format:NULL
                                                                                 errorDescription:NULL];
    return [returnStr stringByReplacingOccurrencesOfString:@"\\r\\n"withString:@"\n"];
}