对于倒问号 ¿
我收到两个字节 [-62][-65] 但我如何获得可读的 utf-8 或 ASCII 字符编码?
最佳答案
是那个字符的 UTF8 代码。 inverted question mark是 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
关于c - TCP 接收扩展的 ASCII 或 utf-8 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4932785/