Символьный тип

Значением символьного типа char являются символы из некото-

рого предопределенного множества. В большинстве современных пер-

сональных ЭВМ этим множеством является ASCII (American Standard

Code for Information Intechange - американский стандартный код

для обмена информацией). Это множество состоит из 256 разных сим-

волов, упорядоченных определенным образом и содержит символы заг-

лавных и строчных букв, цифр и других символов, включая специаль-

ные управляющие символы. Допускается некоторые отклонения от

стандарта ASCII, в частности, при наличии соответствующей систем-

ной поддержки это множество может содержать буквы русского алфа-

вита. Порядковые номера ( кодировку) можно узнать в соответствую-

щих разделах технических описаний.

Значение символьного типа char занимает в памяти 1 байт. Код

от 0 до 255 в этом байте задает один из 256 возможных символов

ASCII таблицы.

Например: символ "1" имеет ASCII код 49, следовательно ма-

шинное представление будет выглядеть следующим образом: 00110001.

ASCII, однако, не является единственно возможным множеством.

Другим достаточно широко используемым множеством является код

EBCDIC (Extended Binary Coded Decimal Interchange Code - расши-

ренный двоично-кодированный десятичный код обмена), применяемый в

системах IBM средней и большой мощности. В EBCDIC код символа

также занимает один байт, но с иной кодировкой, чем в ASCII.

И ASCII, и EBCDIC включают в себя буквенные символы только

латинского алфавита. Символы национальных алфавитов занимают

"свободные места" в таблицах кодов и, таким образом, одна таблица

может поддерживать только один национальный алфавит. Этот недос-

таток преодолен во множестве UNICODE, которое находит все большее

распространение прежде всего в UNIX-ориентированных системах. В

UNICODE каждый символ кодируется двумя байтами, что обеспечивает

более 64 тыс. возможных кодовых комбинаций и дает возможность

иметь единую таблицу кодов, включающую в себя все национальные

алфавиты. UNICODE, безусловно, является перспективным, однако,

повсеместный переход к двухбайтным кодам символов может вызвать

необходимость переделки значительной части существующего прог-

раммного обеспечения.

Специфические операции над символьными типами - только опе-

рации сравнения. При сравнении коды символов рассматриваются как

целые числа без знака. Кодовые таблицы строятся так, что резуль-

таты сравнения подчиняются лексикографическим правилам: символы,

занимающие в алфавите места с меньшими номерами, имеют меньшие

коды, чем символы, занимающие места с большими номерами. В основ-

ном символьный тип данных используется как базовый для построения

интегрированного типа "строка символов", рассматриваемого в гл.4.