转换byte

来源:2-4 Java 中的 String 类常用方法 Ⅱ

落叶萧萧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]

写回答 关注

2回答

  • 慕粉1474438898
    2017-03-18 00:36:58
    已采纳

    utf-8是8位的unicode字符集,编码长度是可变的,并且是ASCII字符集的严格超集,也就是说ASCII的每个字符编码在utf-8中是完全一样的。在utf-8中,一个字符可能是1个字节,2个字节,3个字节或者4个字节

  • 片儿川
    2017-03-20 17:52:56

    因为utf-8是变长编码, 相对于utf-16(熟知的Unicode编码)这个定长编码来说, 可以映射更多的字符, 并且保存的大小空间也有一定优化.

    理论上是不影响的, 只要编码转换和逆转换的时候都使用同一种编码方式即可.

Java入门第三季

Java中你必须懂得常用技能,不容错过的精彩,快来加入吧

409774 学习 · 4546 问题

查看课程

相似问题