對於反向問號¿
我收到兩個字節[-62] [ - 65]但我如何獲得可讀的utf-8或ASCII字符編碼?TCP接收擴展的ASCII或utf-8字符
0
A
回答
3
那是該字符的UTF8代碼。 inverted question mark是Unicode代碼點191
,在UTF8中是0xc2:0xbf
。
您將它們視爲帶符號的字節。例如,-62
有符號是256-62
或194
unsigned - 這是十六進制0xc2
。
同樣,-65
簽名是256-65
或191
無符號 - 這是十六進制0xbf
。
如果要將UTF8序列轉換爲代碼點,可以使用下表。
Range Encoding Binary value ----------------- -------- -------------------------- U+000000-U+00007f 0xxxxxxx 0xxxxxxx U+000080-U+0007ff 110yyyxx 00000yyy xxxxxxxx 10xxxxxx U+000800-U+00ffff 1110yyyy yyyyyyyy xxxxxxxx 10yyyyxx 10xxxxxx U+010000-U+10ffff 11110zzz 000zzzzz yyyyyyyy xxxxxxxx 10zzyyyy 10yyyyxx 10xxxxxx
例如,你的0xc2:0xbf
是二進制11000010 10111111
其中第二殼體相匹配:
11000010 10111111 ||||| |||||| |||\\ ////// ||| |||||||| 00000000 10111111 -> 0x00bf -> 191
1
那些2個字節可能是 UTF-8
爲ASCII你需要一個特定的代碼頁。
什麼是'可讀'字符編碼?
+0
ASCII沒有代碼頁。它是7位。 – 2011-02-08 19:51:41
1
相關問題
- 1. 擴展ASCII字符轉換
- 2. 顯示擴展ASCII字符
- 3. Vim和ASCII擴展字符?
- 4. 將擴展ascii轉換爲utf8
- 5. HTML中的IBM擴展ASCII字符
- 6. 在C#中擴展的ASCII字符串
- 7. Console.Write() - 顯示擴展的ascii字符?
- 8. 創建擴展的ASCII字符InputFilter
- 9. Code :: Blocks中的擴展Ascii字符C++
- 10. Ascii碼的TCP套接字
- 11. Oracle ASCII字符集 - .Net擴展
- 12. 在Ruby中顯示擴展ASCII字符
- 13. 使用AutoHotKey發送擴展ASCII字符
- 14. 將Unicode字符轉換爲擴展ASCII
- 15. boost :: asio擴展TCP套接字
- 16. C:錯誤的字符爲ASCII的轉換(從擴展ASCII表字符)
- 17. 擴展ASCII
- 18. 確保從擴展ASCII編碼爲UTF8時的一致性
- 19. 通過TCP接收Unicode字符
- 20. 通過代理的Chrome擴展TCP套接字連接
- 21. 大會:回聲段落符號¶[或任何擴展ASCII字符]從字符/字符串字面
- 22. Chrome擴展:鏈接收集
- 23. 轉換擴展的ASCII字符到Latin1的
- 24. 「的std :: ISDIGIT」崩潰的幾個擴展ASCII字符數
- 25. C中的擴展ASCII#
- 26. 蟒蛇:擴展的ASCII碼
- 27. 擴展的ASCII問題
- 28. ANTLR3與擴展的ASCII字符不匹配
- 29. 搜索並替換字符串中的擴展ASCII
- 30. 正則表達式來限制擴展的ASCII字符集
「¿」 不是ASCII編碼的一部分。 – 2011-03-20 07:14:17