Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在objective-c中将带有GB2312编码的字符串解码为中文?_Objective C_Decode - Fatal编程技术网

如何在objective-c中将带有GB2312编码的字符串解码为中文?

如何在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

我有一个字符串@“%a9e%b7%cb%ce%d2%a9b%cb%bc%b4%e6”,联机解码是@”匪我゜思存",
如何使用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中甚至不存在:和。也许这是您想要的支持?