考慮以下代碼:
$str = '';
for ($i=0x0; $i<=0x7f; $i ) {
$str .= chr($i);
}
echo json_encode($str);
結果是:
"\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007\b\t\n\u000b\f\r\u000e\u000f\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017\u0018\u0019\u001a\u001b\u001c\u001d\u001e\u001f !\"#$%&'()* ,-.\/0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
除了一個ASCII 字符(最后一個)之外,還有所有其他字符:127 (0x7f)。
有沒有辦法顯示這個角色?(例如:“\u007f”)
uj5u.com熱心網友回復:
洗掉(DEL)是ASCII字符集中的一個控制字符,編碼為0x7f或十進制127。此字符在 JSON 字串中保存為 ASCII。通過以十六進制格式輸出 JSON 字串,可以使該字符可見。
$jsonStr = json_encode(chr(0x7f));
echo bin2hex($jsonStr); //227f22
22是雙引號(")的編碼。echo不適合檢查字串中的內容。總有誤區。控制字符(包括DEL)在瀏覽器中只顯示為空格。如果仔細看代碼示例的結果,您將在末尾看到空格。
uj5u.com熱心網友回復:
我不確定,但我認為這就是您要搜索的內容:
U 007F
另請參閱此答案:為什么沒有為 127 到 159 的 ascii 值定義符號
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/363334.html
