比如说一个字符串
伪代码
// Client客户端:
String str = “字节流转字符流“;
byte[] buff = str.getBytes("UTF-8")
// Server服务端
InputStreamReader reader = new InputStreamReader(inputStream,"UTF-8")
char[] char = new char[1024];
reader.read(char,,);
客户端UTF-8编码字符串的字节流发送给服务端,期间可能一个字符对应的字节被拆分成多个包发送了(因为TCP时候面向字节的,一个UTF-8字符对应多个字节)。
- 这种情况的话,服务端是如何保证正确解析字节到字符的?
- 还有UTF-8编码英文数字为一个字节,中文为多个字节,那么来了一个字节它又是怎么确定这个字节是英文数字,还是一个中文编码的一部分呐(字符编码是不是类似于哈夫曼树一样那呐?)
希望能够解惑,十分感激。推荐博客也可以。
下面给出我个人的理解哈,大家切磋下
utf8编码介绍:https://baike.baidu.com/item/...