字符编码中的英文字母、汉字占有的字节长度。
ASCII方式:一个英文字母占一个字节,不能保存汉字;
UTF8方式:一个英文字母占一个字节,一个汉字占三个字节;
unicode方式:一个英文字母和一个汉字都占两个字节。
基于TCP的Socket服务端:
1、客户端以UTF8编码发送数据,假如发送的数据是汉字的情况下
服务端进行接收的时候,接收的缓冲区的长度必须至少大于等于3个字节。
byte[] buffer = new byte[length] // length的长度>=3
2、客户端以unicode编码发送数据,假如发送的数据是汉字的情况下
服务端进行接收的时候,接收的缓冲区的长度必须至少大于等于2个字节
byte[] buffer = new byte[length] // length的长度>=2
socket编程中接收的信息出现乱码和不全的情况,有相当部分原因是这方面引起的。