![](/img/trans.png)
[英]Confusion with case used by CFURLCreateStringByAddingPercentEscapes encoding
[英]JSON String Encoding - Confusion
在使用 json 解析时,我面临着一个非常令人困惑的情况。
场景是,
第 1 步:我有两个链接
1. http://www.xyz.com/json/getpidl.asp?id=5527446
2. http://www.xyz.com/json/getpidl.acp?id=5587963
****BOTH LINKS ARE WORKING** **
第 2 步:现在我尝试使用以下代码对这两个链接(一个接一个)中的 json 字符串进行编码
NSMutableString *responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSError *error;
SBJSON *parserObject = [[SBJSON alloc] init];
第 3 步:a) Link1 - 响应字符串具有 json 字符串 b) Link2 - 响应字符串为空
第 4 步:所以,我更改了如下代码,
NSMutableString *responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
if (!(responseString))
{
responseString = [[NSMutableString alloc] initWithData:responseData encoding:NSASCIIStringEncoding];
}
NSError *error;
SBJSON *parserObject = [[SBJSON alloc] init];
第五步:现在问题已经解决了。 但我无法理解这里的问题。 谁能帮我理解这个场景
目前尚不清楚这与 JSON 有何关系。 您的代码片段创建 SBJSON 解析器对象,但从不使用它们。
也很难弄清楚为什么initWithData
调用会在没有看到数据的情况下失败。 我的猜测是数据包含无效的 UTF8 字节序列,因此解码为 UTF8 失败,但解码为 ASCII 有效,因为“坏”字符仅被视为未知的单字节字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.