Re[4]: Преобразование символов в UTF-8 ?
От: Cynic Россия  
Дата: 22.03.11 18:54
Оценка:
Здравствуйте, hattab, Вы писали:

H>Так все просто. Юникод это BMP (basic multilingual plane, коды 0 — 0xFFFF) и Supplementary (коды 0x10000 — 0x10FFFF) диапазоны. В BMP еще входят два поддиапазона суррогатов (0xD800 — 0xDBFF — старшие суррогаты, 0xDC00 — 0xDFFF — младшие суррогаты). Суррогаты нужны для представления кодпоинтов из диапазона supplementary в кодировке UTF-16. Каждый кодпоинт из supplementary, в UTF-16, будет представлен суррогатной парой — старший суррогат + младший суррогат. Суррогаты сами по себе не являются значимыми юникод-кодпоинтами и их кодировать вообще нельзя, т.е. корректный кодировщик встретив одиночный суррогат должен заменить его замещающим кодпоинтом 0xFFFD; Кодировщик юникода, встретив суррогатную пару, сначала преобразует ее в кодпоинт и только потом этот кодпоинт кодирует.


Про суррагатные пары и UTF-16 можно поподробнее? А то то что я читаю, как-то фигово написано не вс1 понял
:)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.