Delphi в мире Юникода


         

Немного о терминологии


Кодировка Unicode подразумевает использование некоторых новых терминов. Например, понятие "символ" в системе понятий Unicode менее точно, чем то, к которому, по-видимому, привыкли разработчики. Для кодировки Unicode более точным термином является "элемент кода". В Delphi 2009 размер SizeOf(Char) = 2, но даже и это не всегда. В зависимости от кодировки, это значение для данного символа может принимать значение больше двух байтов. Такие последовательности называются "суррогатными парами". Итак, элемент кода представляет собой уникальный код, назначенный элементу, определенному организацией Unicode Consortium (Unicode.org). Чаще всего это то же самое, что "символ", но не всегда.

Еще один термин, который относится к кодировке Unicode - маркер порядка байтов (BOM), и это очень короткий префикс, используемый в начале текстового файла, чтобы указать тип кодировки, используемый для данного текстового файла. Новый класс TEncoding (будет рассмотрен в части II) содержит метод класса GetPreamble, который возвращает маркер порядка байтов для заданной кодировки.

Теперь, после всех объяснений, рассмотрим, как в Delphi 2009 реализуется строка Unicode.



Содержание раздела