![](/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.