什么是Java的String内部代表?修改过的UTF-8?UTF-16?
我在Java的内部表示中搜索了String,但我有两种看起来可靠但不一致的材料。
一个是:
http://www.codeguru.com/cpp/misc/misc/multi-lingualsupport/article.php/c10451
它说:
Java使用UTF-16作为内部文本表示,并支持对字符串序列化进行非标准的UTF-8修改。
另一个是:
它说:
Tcl也使用与Java相同的修改后的UTF-8 [25]来表示Unicode数据,但对外部数据使用严格的CESU-8。
修改过的UTF-8?还是UTF-16?哪一个是正确的?Java在内存中使用了多少字节?
请让我知道哪一个是正确的以及它使用了多少字节。
波斯汪
相关分类