2016.07.06 21:45*?字數 61?閱讀 921評論 0喜歡 2
IOS中提供的轉碼。
[utf8str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
?
轉碼后發現,與java的不一樣。
原來IOS中轉碼的標準不一致,導致出現錯誤。
不過,可以使用下面的方法來替換,就OK了。
utf8str = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (CFStringRef)utf8str,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NULL,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CFSTR(":/?#[]@!$ &'()*+,;=\"<>%{}|\\^~`"),
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? kCFStringEncodingUTF8));
?
iOS網絡請求返回的漢字在日志里會顯示成\U63d0\U4ea4\U6210\U529f,用下面的腳本就可以把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 '\U63d0\U4ea4\U6210\U529f'就可以顯示漢字了。
?