Emacs для начинающих



Encoding.


    Наиболее важным понятием при обработке символов является понятие Coded Character Set (CCS).

    Давайте попробуем разобраться, что это такое.

    Как мы уже ранее выяснили, существуют определенные "наборы символов" для каждого конкретного языка (алфавит). Набор таких "абстрактных" символов называется character repertoire.

    Для автоматической обработки, хранения и передачи символов необходимо каждый "абстрактный" символ перевести в числовую форму для размещения в ячейках ЭВМ.

  C "программистской" точки зрения это задача совершенно тривиальна. Нужно просто присвоить каждому символу

(абстрактному !) определенное число, которое и хранить в памяти ЭВМ, то есть закодировать

символ. Другими словами, определить схему кодирования : CES "character encoding scheme". Например, условимся, что символу 'A' - LATIN CAPITAL LETTER A соответствует число (код) 61. И наоборот, условимся , что число (integer) 61 будет означать ни что иное, как символ 'A'. Таким образом образуется пара

(61, 'A') код - символ. И наоборот, символ - код. Соответствие однозначное.

    Пусть у нас теперь есть набор

символов : character repertoire {'A','B','C'} (это маленькое подмножество символов латинского алфавита). Продолжим кодирование. Тогда из этого множества {'A','B','C'} у нас образуется множество пар : {(61,'A'),(62,'B'),(63,'C')}.

    А теперь внимание ! Вот это самое пресловутое "множество пар" имеет колоссальное значение ! Формально оно называется CCS : coded character set. Именно ему присваивается имя : ASCII, ISO_8859-5 или KOI8-R

! Перечитать еще раз !

    Давайте рассмотрим подробнее. Итак :

'A' - это абстрактный символ, "character"
набор символов {'A','B','C'} - "character repertoire"
соответствие : символ 'A' <--> число 61 - это CES "character encoding scheme", или просто encoding
число 61 - это "code point".
набор чисел {61,62,63} - это "codeset" или "code space".
набор пар {(61,'A'),(62,'B'),(63,'C')} - это CCS "coded character set", или сокращенно charset.
<


Содержание  Назад  Вперед