13.4. Не могли бы вы произнести это для меня по буквам?

13.4. Не могли бы вы произнести это для меня по буквам?

В самые ранние дни вычислительной техники различные системы назначали различные соответствия между числовыми значениями и глифами (glyphs) — символами, такими, как буквы, цифры и знаки пунктуации, используемыми для общения с людьми. В конечном счете появились два широко использующихся стандарта: кодировка EBCDIC, используемая IBM и подобными ей мэйнфреймами, и ASCII, использующаяся для всего остального. Сегодня, за исключением мэйнфреймов, ASCII является основой для всех других использующихся наборов символов.

Оригинальный семиразрядный набор символов ASCII достаточен для американского английского и большинства знаков пунктуации и специальных символов (таких, как $, но нет символа для «цента»). Однако, имеется много языков и много стран, которым нужны другие наборы символов. ASCII не оперирует версиями романских символов с надстрочными значками, использующимися в Европе, а во многих азиатских языках тысячи символов. Для устранения этих недостатков были разработаны новые технологии.

Литература по интернационализации изобилует ссылками на три фундаментальных термина. Определив их и взаимоотношения между ними, мы сможем представить общее описание соответствующих функций API С.

Набор символов (character set)

Определение значений, присваиваемых различным целым величинам; например того, что A равно 65. Любой набор символов, использующий более восьми битов на символ, называется многобайтным набором символов.

Представление набора символов (character set encoding)

ASCII использует для представления символов один байт. Таким образом, целое значение хранится само по себе, непосредственно в дисковых файлах. Более современные наборы символов, особенно различные версии Unicode[150], используют для представления символов 16-разрядные или даже 32-разрядные целые значения. Для большинства определенных символов один, два или даже три старших байта целого значения равны нулю, что делает непосредственное хранение таких значений на диске неэффективным. Представление набора символов описывает механизм для преобразования 16- или 32-разрядных значений в последовательности от одного до шести байтов для сохранения на диске таким образом, что в целом наблюдается значительная экономия дисковой памяти.

Язык

Правила данного языка определяют использование набора символов. В частности, правила влияют на сортировку символов. Например, на французском е, ? и ? все должны находиться между d и f, независимо от назначенных этим символам числовых значений. Различные языки могут назначить (и назначают) одним и тем же глифам различный порядок сортировки.

Со временем для поддержки многобайтных наборов символов были разработаны различные технологии. Вычислительная практика медленно стремится к Unicode и соответствующим его представлениям, но стандартный С и POSIX поддерживают как старые, так и современные технологии. В данном разделе представлен концептуальный обзор различных возможностей. Нам самим не приходилось их использовать, поэтому мы предпочитаем просто познакомить с ними и предоставить ссылки на дополнительную информацию.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг:

(3.22) У меня пусто в "Автозапуске", но некоторые программы продолжают стартовать при входе в Windows.

Из книги автора

(3.22) У меня пусто в "Автозапуске", но некоторые программы продолжают стартовать при входе в Windows. Проверьте следующую ветку реестра, используя regedit или regedt32: [HLKMSOFTWAREMICROSOFTWINDOWSCURRENTVERSIONRUN]. Там находятся значения, каждое из которых соответствует одной запускаемой при старте


(4.4) У меня в Far-е почему-то отказывается работать мышь. В настройках фара она включена, но работать не хочет :(.

Из книги автора

(4.4) У меня в Far-е почему-то отказывается работать мышь. В настройках фара она включена, но работать не хочет :(. Посмотрите Properties?Options?Edit Options. Уберите галочки с пунктов [x] QuickEdit Mode и [x] Insert


(7.4) У меня есть Iomega Zip Drive. Он не определяется автоматически, надо ли скачивать для его драйвера?

Из книги автора

(7.4) У меня есть Iomega Zip Drive. Он не определяется автоматически, надо ли скачивать для его драйвера? Драйвер для внешнего ZIP drive, подключаемого через порт принтера входит в саму операционную систему. Но, сам привод не определяется автоматически. Для решения этой проблемы


3.11. У меня пусто в "Автозапуске", но некоторые программы продолжают стартовать при входе в Windows.

Из книги автора

3.11. У меня пусто в "Автозапуске", но некоторые программы продолжают стартовать при входе в Windows. Проверьте следующую ветку реестра, используя regedit [HLKM SOFTWARE MICROSOFT WINDOWS CURRENTVERSION RUN]. Там находятся значения, каждое из которых соответствует одной запускаемой при старте программе.


7.2. Help в XP какой то сильно упрощенный и урезанный. Неужели ничего толковее не могли написать?

Из книги автора

7.2. Help в XP какой то сильно упрощенный и урезанный. Неужели ничего толковее не могли написать? Могли. И написали. В XP (как и в W2k) есть несколько файлов справки. Главный, тот который вызывается через пункт Help and Support, кнопки Start, и рассчитан на неквалифицированных пользователей.


1.5.10. У меня больше оперативной памяти!

Из книги автора

1.5.10. У меня больше оперативной памяти! Иногда Linux не может точно определить объем оперативной памяти. Например, у вас установлено 128 Мбайт, а Linux видит только 64. Для исправления этого в файл /etc/lilo.conf допишите строку:append="mem=128M"Для того, чтобы изменения вступили в силу, введите


А вы ноктюрн сыграть могли бы? или Предисловие редактора перевода

Из книги автора

А вы ноктюрн сыграть могли бы? или Предисловие редактора перевода Своим внешним видом новый суперкомпьютер CRAY-1 мало похож на привычную всем нам вычислительную машину. Это круглый диван с высокой спинкой и мягкими кожаными сиденьями. До предела набитый электроникой,


ОПЫТЫ:Сожми меня нежно

Из книги автора

ОПЫТЫ:Сожми меня нежно Компьютерщики со стажем любят иногда вспомнить о временах доисторических модемов со скоростью 1200 бод, к которым надо было привязывать телефонную трубку, а номер провайдера набирать вручную на обычном аппарате. Не менее удивительны сегодня


КНИГИ: Не заставляйте меня думать!

Из книги автора

КНИГИ: Не заставляйте меня думать! Я люблю книжки с картинками и про картинки. Обычно это в высшей степени приятное чтение. Вот и книга Стива Круга в первую очередь радует именно хорошими иллюстрациями. Но, начав читать, увлекаешься еще больше. Что доказывает - ее автор


Ухо! Ты меня слышишь?

Из книги автора

Ухо! Ты меня слышишь? Автор: Киви БердТехнология, на протяжении десятилетий используемая правоохранительными органами США (а скорее всего, и многих других стран) для прослушивания телефонов, содержит серьезные конструктивные недостатки. Из-за этих слабостей объект


ОПЫТЫ: Держите меня семеро! Сравнение характеристик ADSL-модемов

Из книги автора

ОПЫТЫ: Держите меня семеро! Сравнение характеристик ADSL-модемов Автор: Константин КурбатовЕщё несколько лет назад технология ADSL представляла лишь академический интерес для российских пользователей Интернета. Читая через «прерывистые» коммутируемые каналы про


Глава 6: «Не могли бы Вы помочь?»

Из книги автора

Глава 6: «Не могли бы Вы помочь?» Перевод: Artem (artem sib@inbox.ru)Вы знаете, как социальные инженеры обманывают людей, предлагая им свою помощь. Другой излюбленный подход основан на обратном: социальный инженер делает вид, что нуждается в помощи другого человека. Мы можем


Люби меня, люби мои приобретения

Из книги автора

Люби меня, люби мои приобретения К началу XXI века маркетинг все больше ориентируется на персональный подход. Продавцы больше не удовлетворяются толпой потенциальных клиентов, выловленных из списков рассылки или правительственных данных. Они агрессивно ищут


ОГОРОД КОЗЛОВСКОГО: Съешь меня!

Из книги автора

ОГОРОД КОЗЛОВСКОГО: Съешь меня! Автор: Козловский ЕвгенийКак-то раз Голубицкий навел меня на забавную программку. Называется z2 Remote2PC и устанавливается на компьютер (серверная часть) и КПК (клиент). После этого стоит соединить по воздуху первый со вторым (или наоборот),