Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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
iOS UTF7编码/解码_Ios_Encoding_Utf 7 - Fatal编程技术网

iOS UTF7编码/解码

iOS UTF7编码/解码,ios,encoding,utf-7,Ios,Encoding,Utf 7,我对UTF7解码有问题。我能够隔离问题,创建了以下示例代码: NSStringEncoding stringEncoding = myFunctionForTranslateCodepageToEncoding(codePage); // see the end of the string, it's important const char * testBuffer ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

我对UTF7解码有问题。我能够隔离问题,创建了以下示例代码:

NSStringEncoding stringEncoding = myFunctionForTranslateCodepageToEncoding(codePage);
// see the end of the string, it's important
const char * testBuffer ="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa+ADw-";

NSString * testString = [[NSString alloc] initWithBytes:testBuffer length:strlen(testBuffer) encoding:stringEncoding];
其中:

strlen(testBuffer)是508

“代码页”是65000

“stringEncoding”是2214592768(可能是预期的UTF-7,但我找不到明确的确认…)


“+ADw-”是“我无法重现问题”的UTF7序列。使用
stringEncoding=2214592768
testBuffer
转换成功并返回
@“aaa…aaa…和
strlen(testBuffer)
你的字符串是507,而不是508。哎呀,我确实发布了带有507个字符的示例字符串,它可以工作。但使用508它不能工作。我已经更新了示例。你现在可以检查吗?好的,我现在可以重现这个问题了。这看起来像是苹果框架中的一个bug。我还需要解码UTF-7字符串。有什么想法吗?