Главная » C# » Кодовые таблицы символов в Visual C# (Sharp)

0

Для хранения одного символа требуется 16 бит памяти, а объем памяти, занимаый строкой, зависит от количества символов в строке. Например, для хранения строки длиной в 10 символов требуется 160 бит памяти. Тип string является ссочным типом.

Так как для  хранения  одного  символа отводится  16 бит, то текст  можно  хранить в огромном разнообразии форматов. В данном случае применяется стандартный формат, называемый Unicode.

Возьмем, к примеру, букву а. По-философски, каким  образом  мы знаем,  что а — это а? Для нас это не составляет особого труда, т. к. наш мозг натренирован взаосвязывать очертания и весь внешний вид данной фигуры с концепцией буквы а. Теперь посмотрим на английскую букву, показанную на рис. 3.10.

Р

 

Рис. 3.10. Буква английского алфавита

Какая буква показана на рис. 3.10? Выглядит, как будто бы буква Р, не так ли? Но английская Р— это русская П. В каждом из этих двух языков применяется свой набор символов для обозначения букв, и английской букве Р соответствует русская П. Соответствие всех букв русского алфавита английскому показано в табл. 3.3.

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

Существует несколько типов таблиц преобразований, одной из них является  код ASCII (American Standard Code for Information Interchange, Американский стандарый код обмена информацией). Так, например, в ASCII английская буква а соотнится с числом 97. Но с ASCII имеется проблема — в то время как этот код прекрасно работает с английским алфавитом, с другими алфавитами он работает отвратительно. Код ASCII был расширен для работы с западноевропейскими языками, но с такими языками как китайский, русский или арабский у него имеются проблемы.

Таблица     3.3.       Соотношение      русских       букв       английским

1

По этой причине в .NET применяется кодировка Unicode. Эта кодировка определт набор таблиц преобразования, которые соотносят все алфавиты мира с опреденным набором чисел.

В большинстве случаев вам не придется иметь дело с Unicode, т. к. все, связанное с кодировками, .NET выполняет прозрачно для программиста. Дело  обстояло ссем по-другому много лет тому назад, когда программистам приходилось выпоять самостоятельно всю связанную с таблицами преобразований работу. Так что вы можете считать, что вам повезло: вам не придется познать всю радость такой работы при разработке многоязычных приложений.

Источник: Гросс  К. С# 2008:  Пер. с англ. — СПб.:  БХВ-Петербург, 2009. — 576 е.:  ил. — (Самоучитель)

По теме:

  • Комментарии