Чтение и запись символов Unicode

Задача
Необходимо читать символы в кодировке Unicode из файла, базы данных или формы; или требуется записать символы в кодировке Unicode.

Решение
Однобайтовые символы в кодировке ISO-8859-1 преобразуются в код UTF-8 с помощью функции utf8_encode():

print utf8_encode('Kurt Gdel is swell.');

Функция utf8_decode() используется для преобразования символов в кодировке UTF-8 в однобайтовые символы в кодировке ISO-8859-1:

print utf8_decode("Kurt G\xc3\xb6del is swell.");

Обсуждение
Существует 256 ASCII-символов. Символы с кодами от 0 до 127 стандартизованы: управляющие символы, буквы и числа, символы пунк-туации. Однако существуют различные правила для символов с кодами от 128 до 255. Одна из кодировок, называемая ISO-8859-1, охватывает символы, необходимые для письма на большинстве европейских
языков, например 􀈞 в G􀈞del или n~ в pestan ~ a. Однако многим языкам требуется более 256 символов, а набор символов, охватывающий символы более чем одного языка, требует еще больше символов. В этой ситуации положение спасает Unicode; его UTF-8 кодировка позволяет представить более одного миллиона символов.

Такая повышенная функциональность достигается за счет пространства. Для хранения ASCII-символов достаточно одного байта; символам в кодировке UTF-8 требуется до 4 байт.
Наименьший значащий бит – это самый правый бит в самом правом байте. В многобайтных символах количество ведущих единичных бит в самом левом байте соответствует коли-
честву байт в коде символа.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Использование определенной локали
Локализация включаемых файлов
Локализация дат и времени
Локализация денежных значений
Локализация изображений