在iOS程序訪問HTTP資源時(shí)需要對URL進(jìn)行Encode
1.轉(zhuǎn)換為UTF8(ios7 之后的方法)
NSString*charactersToEscape =@"我的生活";
NSCharacterSet*allowedCharacters = [[NSCharacterSet characterSetWithCharactersInString:charactersToEscape] invertedSet];
NSString*netStr1 = [charactersToEscape stringByAddingPercentEncodingWithAllowedCharacters:allowedCharacters];
轉(zhuǎn)換之后的結(jié)果為
%E6%88%91%E7%9A%84%E7%94%9F%E6%B4%BB
2.轉(zhuǎn)換為Unicode
-(NSString*) utf8ToUnicode:(NSString*)string
{
NSUIntegerlength = [stringlength];
NSMutableString*s = [NSMutableStringstringWithCapacity:0];
for(inti =0;i < length; i++)
{
unichar_char = [stringcharacterAtIndex:i];
//判斷是否為英文和數(shù)字
if(_char <='9'&& _char >='0')
{
[sappendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];
}
elseif(_char >='a'&& _char <='z')
{
[sappendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];
}
elseif(_char >='A'&& _char <='Z')
{
[sappendFormat:@"%@",[stringsubstringWithRange:NSMakeRange(i,1)]];
}
else
{
[sappendFormat:@"\\u%x",[stringcharacterAtIndex:i]];
}
}
returns;
}
轉(zhuǎn)換“我的生活”的結(jié)果為
\u6211\u7684\u751F\u6D3B