[英]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.