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 поддерживают как старые, так и современные технологии. В данном разделе представлен концептуальный обзор различных возможностей. Нам самим не приходилось их использовать, поэтому мы предпочитаем просто познакомить с ними и предоставить ссылки на дополнительную информацию.

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

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

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

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

Из книги Искусство обмана автора Митник Кевин

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


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

Из книги Журнал «Компьютерра» №38 автора Журнал «Компьютерра»

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


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

Из книги Журнал «Компьютерра» №43 от 22 ноября 2005 года автора Журнал «Компьютерра»

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


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

Из книги Журнал «Компьютерра» №46 от 15 декабря 2005 года автора Журнал «Компьютерра»

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


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

Из книги Журнал «Компьютерра» № 45 от 05 декабря 2006 года автора Журнал «Компьютерра»

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


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

Из книги Все под контролем: Кто и как следит за тобой автора Гарфинкель Симеон

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


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

Из книги Журнал "Компьютерра" №713 автора Журнал «Компьютерра»

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


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

Из книги Win2K FAQ (v. 6.0) автора Шашков Алексей

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


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

Из книги WinXP FAQ (Часто задаваемые вопросы по ОС Windows XP) автора Шашков Алексей

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


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

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


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

Из книги Этюды для программистов [неполностью, главы 1–24] автора Уэзерелл Чарлз

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


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

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

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


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

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

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


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

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

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