пятница, 20 февраля 2015 г.

Таблицы Кодировок.

American standard code for information interchange(ASCII).

ASCII (англ. American standard code for information interchange) — название таблицы (кодировки, набора), в которой некоторым распространённым печатным и не печатным символам сопоставлены числовые коды. Таблица была разработана и стандартизована в США в 1963 году. Название «ASCII» в американском варианте английского языка произносится как [э́ски]; в Великобритании чаще произносят [а́ски]; по-русски — так же: [а́ски] или [аски́].
Таблица ASCII определяет коды для символов:
  • десятичных цифр;
  • латинского алфавита;
  • национального алфавита;
  • знаков препинания;
  • управляющих символов.   

История.

Изначально (1963 год) ASСII была разработана для кодирования символов, коды которых помещались в 7 бит (128 символов; 27=128). Со временем кодировка была расширена до 256 символов (28=256); коды первых 128-и символов не изменились. ASCII стала восприниматься как половина 8-и битной кодировки, а «расширенной ASCII» называли ASCII с задействованным 8-м битом.

Национальные варианты ASCII.

Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения национальных символов на месте символов «@», «[», «\», «]», «^», «`», «{», «|», «}», «~». В дополнение к этому, на месте «#» может быть размещён «£», а на месте «$» — «¤». Такая система хорошо подходит для европейских языков, где нужны лишь несколько дополнительных символов. Вариант ASCII без национальных символов называется US-ASCII или «international reference version».
Для некоторых языков с нелатинской письменностью (русского, греческого, арабского, иврита) существовали более радикальные модификации ASCII. Одним из вариантов был отказ от строчных латинских букв — на их месте размещались национальные символы (для русского и греческого — только заглавные буквы). Другой вариант — переключение между US-ASCII и национальным вариантом «на лету» с помощью символов SO (англ. shift out) и SI (англ. shift in) — в этом случае в национальном варианте можно полностью устранить латинские буквы и занять всё пространство под свои символы. См. также КОИ-7.
Впоследствии оказалось удобнее использовать 8-и битные кодировки , в которых нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII до повсеместного внедрения Юникода активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками. Другие языки с нелатинской письменностью тоже страдали из-за наличия нескольких разных кодировок.
Первые 128 символов стандарта Юникод совпадают с соответствующими символами US-ASCII.