UTF-16: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
Нет описания правки |
Almash (обсуждение | вклад) оформление |
||
Строка 1:
'''UTF-16''' ({{lang-en|Unicode Transformation Format}}) в [[Информатика|информатике]] — один из [[набор символов|способов кодирования]] символов из [[Юникод]]а в виде последовательности 16-[[бит]]ных слов.
Данная кодировка позволяет записывать символы Юникода в диапазонах U+0000..U+D7FF и U+E000..U+10FFFF (общим количеством
При этом каждый символ записывается одним или двумя словами (суррогатная пара).
Строка 7:
== История появления ==
Первая версия Юникода (1991 г.) представляла собой 16-битную кодировку с фиксированной шириной символа; общее число разных символов было 2<sup>16</sup> (
Поскольку в UTF-16 можно отобразить {{math|2<sup>20</sup>+2<sup>16</sup>−2048}} (
== Принцип кодирования ==
Строка 74:
Функция <tt>LoWord()</tt> возвращает младшее слово от 32-битного целого (старшие биты не глядя отбрасываются).
<source lang="pascal">
// Допустимые значения Code: $0000..$D7FF, $E000..$10FFFF.
Procedure WriteUTF16Char(Code: UInt32)
Строка 87:
End If
End Procedure
</
=== Раскодирование ===
Строка 96:
<tt>Error()</tt> прерывает выполнение (по сути [[Обработка исключений|исключение]]).
<source lang="pascal">
// В случае успеха возвращаются значения
// в диапазонах $0000..$D7FF и $E000..$10FFFF.
Строка 120:
End If
End Function
</
== Ссылки ==
|