2
我有一个字符串@“%a9e%b7%cb%ce%d2%a9b%cb%bc%b4%e6”,在线解码是@“〆匪我゜思存”, 我如何使用OC来解码字符串中文?如何用gb2312encode解码字符串到中文的objective-c?
我有一个字符串@“%a9e%b7%cb%ce%d2%a9b%cb%bc%b4%e6”,在线解码是@“〆匪我゜思存”, 我如何使用OC来解码字符串中文?如何用gb2312encode解码字符串到中文的objective-c?
你可以试试下面的代码。
-(NSString *)EncodeGB2312Str:(NSString *)encodeStr {
CFStringRef nonAlphaNumValidChars = CFSTR("![ DISCUZ_CODE_1 ]’()*+,-./:;[email protected]_~");
NSString *preprocessedString = (NSString *)CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapesUsingEncoding(kCFAllocatorDefault, (CFStringRef)encodeStr, CFSTR(""), kCFStringEncodingGB_18030_2000));
NSString *newStr = (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,(CFStringRef)preprocessedString,NULL,nonAlphaNumValidChars,kCFStringEncodingGB_18030_2000));
return newStr;
}
NSString *string = [self EncodeGB2312Str:@"〆匪我゜思存"];
NSLog(@"string = %@",string); //output is string = %A9%65%B7%CB%CE%D2%20%CB%BC%B4%E6
不错,但问题是解码,而不是编码。 –
你可以给我在网上解码器,你用 –
' “〆匪我゜思存”'是*不*因为第一和第四个字符(〆和゜)的中国人。 这两个字符在GB 2312中甚至不存在:http://www.khngai.com/chinese/charmap/tblgb.php和https://ideone.com/QcQAyg。 也许它是[GB 18030](https://en.wikipedia.org/wiki/GB_18030)支持你想要的? –
http://tool.chinaz.com/tools/urlencode.aspx – Dragon