Как указываются самолеты в строке Unicode (или нет)? - PullRequest
3 голосов
/ 30 марта 2011

Я прочитал статью Джоэла и много занимался поиском. На каждом сайте и в статье по Unicode говорится о том, что на кодовую точку приходится 16 бит, но Unicode поддерживает более 2 ^ 16 кодовых точек с плоскостями Unicode.

Но никто не объясняет, как строка в Юникоде указывает на плоскость. Более того, это оставляет вопрос о том, как строка Unicode может содержать символы из нескольких плоскостей.

Итак, как самолеты обозначаются в строках Unicode?

Ответы [ 2 ]

2 голосов
/ 30 марта 2011

Я написал главу, которая объясняет эту тему (и некоторые другие проблемы Unicode) в руководстве для проекта с открытым исходным кодом.Вот ссылка на руководство PDF (см. Главу 10).А вот ссылка на эту главу в HTML-версии руководства.

2 голосов
/ 30 марта 2011

Кто-то может смело поправлять меня, я все еще изучаю Unicode.

Я думаю, что вы путаете между точкой кода и тем, как кодировка представляет эту точку кода.Количество бит / байт на кодовую точку будет зависеть от вашей кодировки.Давайте возьмем самый простой пример UTF-32.UTF-32 использует, барабанная дробь, пожалуйста - 32 бита для каждой кодовой точки.Он может напрямую представлять каждый символ Юникода в каждой плоскости.UTF-16 - кодировка переменной длины.Он кодирует каждую кодовую точку в одну или две кодовые единицы .Первая плоскость представлена ​​с использованием одной кодовой единицы.Остальное, ну, вы можете прочитать больше об этом здесь.http://en.wikipedia.org/wiki/UTF-16 и http://en.wikipedia.org/wiki/UTF-8.

По сути, если кодировка поддерживает определенные плоскости, они присутствуют и представляются в кодировке.В случае с UTF-32 это более понятно, чем с другими.

...