各种编码区别及内存映射

整件事起因是一个程序(这条死咸鱼还欠着两篇文章没有写)

室友问道为啥一个

1
2
String str = "中";
str.getBytes().length;

结果是3,而不是我们当时常见的一个中文对应2字节

本质上的原因是因为他编辑器用了utf-8编码

后来又看到这么一段话

“计算机内存中,统一使用Unicode编码,需要保存或者传输时,转换成UTF8编码。”

然后我就懵逼了

对于编码方面的知识我的理解是混乱的,因此写篇blog理清一下思路

阅读更多