Двухбайтовая кодировка
В 1988 году фирмы APPLE и XEROX предложили 2-х символьную (широкую) кодировку. В 1991 году - комитет по разработке стандартов утвердил Стандарт на символы UNICODE. В предыдущих версиях расширенные символы кодировались так, что младший байт был равен 0, это было признаком двух байтовой кодировки (например, кодировка функциональных клавиш F1 –F12). В UNICODE каждый символ кодируется 2 байтами, поэтому не надо анализировать первый байт, чтобы узнать назначение второго - сейчас в стандарт UNICODE входит »34000 символов. Для программистов оставлено »6000 кодов. В табл. 3.1 представлены коды символов в UNICODE.
Таблица 3.1 Коды символов для UNICODE
16-битный код | Символы | ||
0000 - 007F | ASCII
| ||
0080 – 00FF | Символы LATIN 1 | ||
0100 - 017F | Европейские латинские | ||
0180 – 01FF | Расширенные латинские | ||
0250 – 02AF | Стандартные фонетические | ||
02b0 – 02ff | Модифицированные литеры | ||
0300 - 036f | Общие диакритические знаки | ||
0400 – 04ff | Греческий | ||
0530 - 058f | Кириллица | ||
0590 – 05ff | Армянский | ||
0600 – 06ff | Еврейский | ||
0900 - 097f | Девангари |
Достоинства использования UNICODE:
· возможность создания многоязычных документов;
· один exe или dll файл для разных языков;
· увеличивается эффективность прикладных программ.
WINDOWS NT полностью построена на основе UNICODE. Если функции передается обычная строка, она сначала преобразуется в строку типа UNICODE (автоматически). Так как преобразование требует дополнительной памяти и времени, лучше сразу работать со строками типа UNICODE. В WINDOWS 95 не заложена работа с UNICODE, вся внутренняя работа основана на одно символьной кодировке, поэтому все 2-х символьные строки преобразуются в одно символьные.
В ассемблере нет специального обозначения[3]
для расширенной кодировки, поэтому мы используем для задания таких строк данные типа DW, что соответствует 2-х байтовым данным. Так строка «Hello» при двухбайтовой кодировке имеет вид:
Msg dw “H”, “e”, “l”, “l”,”o”