Я понимаю, что внутреннее представление Java для String - UTF-16. What is java string representation?Внутреннее представление строки Java
Кроме того, я знаю, что в строке UTF-16 каждый символ имеет один или два 16-разрядных кодовых блока.
Однако, когда я отлаживать следующий код Java
String hello = "Hello";
переменный привет представляет собой массив из 5 байт 0x48, 0x101, 0x108, 0x108, 0x111 который является ASCII для "Hello".
Как это может быть?
Как вы отлаживаете это? Это всего лишь массив символов. – Ferrybig
Вы уверены, что это не имя переменной, которое вы видите? – Fildor
@Fildor 0x48 имеет представление «H», а не «h». – Maroun