我在转换时遇到问题URL string
,我从 XML 文件中提取到NSString
.
The URL string
看起来像这样,看起来很奇怪,但确实如此URL
format.
%3CTEXTFORMAT%20LEADING%3D%222%22%3E%3CP%20ALIGN%3D%22LEFT%22%3E%3CFONT%20FACE%3D%22Arial%22%20SIZE%3D%2212%22%20COLOR%3D%22%23000000%22%20LETTERSPACING%3D%220%22%20KERNING%3D%220%22%3E%u53F0%u5317%u7E2323141%u65B0%u5E97%u6C11%u6B0A%u8DEF130%u5DF714%u865F5%u6A13%3C/FONT%3E%3C/P%3E%3C/TEXTFORMAT%3E
但是,当我使用stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding
方法,它返回 nil。
经过一些实验和研究,似乎是这样URL
包含%u
转换时出现问题URL
和这个%u
好像unicode
,但是,我尝试删除所有%u
then stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding
方法返回正确的字符串,没有任何问题。
有谁知道我该如何转换这个URLstring
to NSString
适当地?
它是 urlString 中的 Unicode 汉字字符,这就是它不转换的原因。
将 %u 替换为 \u,您将得到您的字符串。
NSString *str=@"%3CTEXTFORMAT%20LEADING%3D%222%22%3E%3CP%20ALIGN%3D%22LEFT%22%3E%3CFONT%20FACE %3D%22Arial%22%20SIZE%3D%2212%22%20COLOR%3D%22%23000000%22%20LETTERSPACING%3D%220%22%20KERNING%3D%220%22%3E%u53F0%u5317%u7E2323141%u65B0%u5E97%u6C11%u6B0A%u8DEF130%u5DF714%u865F5%u6A13%3C/FONT%3E%3C/P%3E%3C/TEXTFORMAT%3E";
str=[str stringByReplacingOccurrencesOfString:@"%u" withString:@"\\u"];
NSString *convertedStr=[str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSLog(@"converted string is %@ \n",convertedStr);
输出 : - - - - - - - -
converted string is <TEXTFORMAT LEADING="2"><P ALIGN="LEFT"><FONT FACE="Arial" SIZE="12" COLOR="#000000" LETTERSPACING="0" KERNING="0">\u53F0\u5317\u7E2323141\u65B0\u5E97\u6C11\u6B0A\u8DEF130\u5DF714\u865F5\u6A13</FONT></P></TEXTFORMAT>
欲了解更多信息,请关注此url http://www.charbase.com/53f0-unicode-cjk-unified-ideograph
这是中文unicode字符这是一些可以证明这一点的代码:
NSString *newStr=@"\u53F0\u5317\u7E2323141\u65B0\u5E97\u6C11\u6B0A\u8DEF130\u5DF714\u865F5\u6A13";
NSLog(@"chinese string is %@",[newStr stringByReplacingPercentEscapesUsingEncoding:NSUTF16StringEncoding]);
输出: - - - - - - - - - - -台北县23141新店民权路130巷14号5楼
去谷歌翻译转换这个字符串会给你某人的地址。
作为 :-
台北县新店市民路23141巷14号5楼130号
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)