IOS

2016.07.06 21:45* 字数 61 阅读 921评论 0

IOS中提供的转码。

[utf8str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

转码后发现,与java的不一样。

原来IOS中转码的标准不一致,导致出现错误。

不过,可以使用下面的方法来替换,就OK了。

utf8str = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,

                                                                                        (CFStringRef)utf8str,

                                                                                        NULL,

                                                                                        CFSTR(":/?#[]@!$ &'()*+,;="<>%{}|\^~`"),

                                                                                        kCFStringEncodingUTF8));

iOS网络请求返回的汉字在日志里会显示成U63d0U4ea4U6210U529f,用下面的脚本就可以把Unicode显示成汉字

#!/bin/sh

cmd="/usr/bin/env python -c 'print("""$1""".lower().decode("unicode-escape").encode("utf-8"))'"

echo $cmd | sh

比如:把这个脚本命名为co,并使用chmod +x co添加可执行属性

使用co 'U63d0U4ea4U6210U529f'就可以显示汉字了。

原文地址:https://www.cnblogs.com/sundaysgarden/p/10412524.html