Конвертер кодировок текста

Windows-1256: арабская кодировка для Windows

Перекодировать текст из Windows-1256 ↓

Арабская письменность стоит особняком даже среди языков, которые пишутся справа налево. Буквы в ней соединяются друг с другом, и одна и та же буква выглядит по-разному в начале, в середине и в конце слова. Арабским алфавитом пользуются не только арабы, но и носители персидского языка, урду и ряда других языков, и каждый из них добавил к нему свои буквы. Кодовая страница 1256, разработанная Microsoft, должна была охватить все эти потребности в рамках одной восьмибитной таблицы.

В Windows-1256 нижняя половина таблицы совпадает с ASCII, а в верхней размещены арабские буквы, огласовки, арабские знаки препинания и типографские символы. Важная особенность кодировки в том, что в ней хранятся только основные формы букв. Выбор правильного начертания в зависимости от положения буквы в слове выполняет программа отображения. Такой подход позволил уместить в таблицу весь алфавит, ведь если бы каждая форма буквы занимала отдельную позицию, места бы не хватило.

Microsoft включила в Windows-1256 и буквы, которых нет в арабском, но которые нужны для персидского языка и урду: "پ", "چ", "ژ" и "گ", а также некоторые другие. Это выгодно отличало её от международного стандарта ISO-8859-6, где были только основные арабские буквы. Кроме того, в верхней части таблицы осталось несколько французских букв с акцентами, поскольку французский язык широко используется в странах Северной Африки.

Цифры в Windows-1256 записываются обычными арабскими цифрами, теми самыми, которыми мы пользуемся каждый день. Восточноарабские цифры, принятые в ряде стран Ближнего Востока, отображаются программой, если это предусмотрено настройками. Это решение упростило обработку чисел, но иногда приводило к неожиданностям при обмене документами.

Ошибка при чтении арабского текста в неправильной кодировке выглядит так же, как и для других письменностей. Слово "مرحبا", то есть "здравствуйте", записанное в Windows-1256 и открытое как Windows-1252, превращается в "ãÑÍÈÇ". Вместо связанных между собой букв, идущих справа налево, появляются отдельные латинские буквы с акцентами, идущие слева направо. Если же текст открыть как Windows-1251, получится "гСНИЗ": смесь строчных и заглавных кириллических букв.

При смешении Windows-1256 с ISO-8859-6 ошибка менее заметна. Часть арабских букв в двух кодировках стоит на одних и тех же местах, и текст остаётся отчасти читаемым, но отдельные буквы подменяются другими. Например, при чтении слова "مرحبا", записанного в ISO-8859-6, как Windows-1256 первая буква превращается в другую, и получается "هرحبا".

Сегодня арабские сайты работают в UTF-8, но Windows-1256 встречается в старых документах, базах данных и выгрузках из учётных программ. Если в тексте вместо арабских букв стоят латинские буквы с акцентами или кириллица, укажите Windows-1256 исходной кодировкой и преобразуйте текст в UTF-8.