落叶萧萧online
2017-03-17 15:31
我输出的byte数组好像一个汉字占了三个字节。。。utf-8码?有什么影响吗
将字符串转换为byte[]类型并打印输出:[-27, -83, -90, -28, -71, -96, 32, 74, 65, 86, 65, 32, -25, -68, -106, -25, -88, -117]
utf-8是8位的unicode字符集,编码长度是可变的,并且是ASCII字符集的严格超集,也就是说ASCII的每个字符编码在utf-8中是完全一样的。在utf-8中,一个字符可能是1个字节,2个字节,3个字节或者4个字节
因为utf-8是变长编码, 相对于utf-16(熟知的Unicode编码)这个定长编码来说, 可以映射更多的字符, 并且保存的大小空间也有一定优化.
理论上是不影响的, 只要编码转换和逆转换的时候都使用同一种编码方式即可.
Java入门第三季
409774 学习 · 4546 问题
相似问题