unicode通常用2个字节存储1个字符,是不是只能表示65536个字符?
错,原因如下:
1.0-65535中不是每个都能解码成1个字符,有的不能解码成1个字符,例如下图
2.还有一些不常用的字符可以用更多字节来表示,例如下图
所以,unicode可以表示的字符个数不一定就是65536个。
一些历史:
【1】第一、二张图片摘自unicode9.0
【2】第三图片摘自Java核心技术卷1
【3】在Java中如何解决只能存2字节范围内的unicode字符问题,参考UTF-16编码详解 - 知乎 (zhihu.com)