[英]TCP receiving extended ASCII or utf-8 characters
對於倒置問號¿
我收到兩個字節[-62] [-65],但是我將如何獲得可讀的utf-8或ASCII字符編碼?
這就是該字符的UTF8代碼。 反向問號是Unicode代碼點191
,在utf8中為0xc2:0xbf
。
您正在將它們視為帶符號的字節。 例如, -62
符號是256-62
或194
無符號-這是十六進制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
那兩個字節可能是 UTF-8
對於ASCII,您將需要特定的代碼頁。
“可讀”字符編碼到底是什么?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.