Как Java хранит символы UTF-16 в 16-битном типе символов?

СогласноJava SE 7 СпецификацияJava использует стандарт Unicode UTF-16 для представления символов. Когда воображаетеString какпростой массив из 16-битных переменных, каждая из которых содержит один символ, жизнь проста.

К сожалению, есть кодовые точки, для которых 16 бит просто неДостаточно (я считаю, что это было 16/17 от всех символов Юникода). Так что вString, это не представляет прямой проблемы, потому что при желании сохранить один из этих ~ 1.048.576 символов, используядополнительные два байта, просто две позиции массива в этомString будет использоваться.

Это, не представляясьнепосредственный проблема, работает наStrings, потому что всегда могут быть дополнительные два байта. Хотя, когда дело доходит до отдельных переменных, которые, в отличие от кодировки UTF-16, имеютфиксированная длина 16 биткак эти символы могут быть сохранены, и, в частности, как Java делает это со своими2 байта "символ» тип?

Ответы на вопрос(2)

Ваш ответ на вопрос