如何在objective-c中将带有GB2312编码的字符串解码为中文?
我有一个字符串@“%a9e%b7%cb%ce%d2%a9b%cb%bc%b4%e6”,联机解码是@”匪我゜思存",如何在objective-c中将带有GB2312编码的字符串解码为中文?,objective-c,decode,Objective C,Decode,我有一个字符串@“%a9e%b7%cb%ce%d2%a9b%cb%bc%b4%e6”,联机解码是@”匪我゜思存", 如何使用OC将字符串解码为中文?您可以尝试使用以下代码 -(NSString *)EncodeGB2312Str:(NSString *)encodeStr { CFStringRef nonAlphaNumValidChars = CFSTR("![ DISCUZ_CODE_1 ]’()*+,-./:;=?@_~"); NSString
如何使用OC将字符串解码为中文?您可以尝试使用以下代码
-(NSString *)EncodeGB2312Str:(NSString *)encodeStr {
CFStringRef nonAlphaNumValidChars = CFSTR("![ DISCUZ_CODE_1 ]’()*+,-./:;=?@_~");
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
你能把你用过的在线解码器发给我吗匪我゜思存“不是中文,因为第一个和第四个字符(和゜). 这两个字符在GB2312中甚至不存在:和。也许这是您想要的支持?