Представление символьных (текстовых) данных
Символьные данные не имеют специально разработанных для них форматов. При обработке текстов ЭВМ рассматривает символ как целое число без знака, представленное в формате с фиксированной точкой. Значение этого числа рассматривается как порядковый номер символа в таблице кодировки. В настоящее время используются таблицы кодиров- ки, в которых на кодирование символа отведено 8 бит или 16 бит. Наи- большее распространение получили системы кодировки:
Кодировка EBCDIC (Expanded Binary Coded Decimal Interchange Code) обычно используется на универсальных ЭВМ. В России используется во многом совпадающая с ней кодировка ДКОИ (двоичный код обмена информацией). Для кодировки символа используется 8 бит. Количество кодируемых символов 28 = 256 символов.
Кодировка ASCII (American Standard Coding for Information Intor- hange) обычно используется на мини и микро-ЭВМ. Для кодировки сим- вола используется 8 бит. Количество кодируемых символов 28 = 256 символов.
В силу широкой распространенности кодировки ASCII рассмотрим ее подробнее.
Таблица кодировки ASCII состоит из двух частей.
Первая часть таблицы содержит коды от 0[10] до 127[10]. Соглашения о кодируемых в этой половине символах являются общепринятыми. Пер- вая часть таблицы содержит коды управляющих символов, латинских букв, десятичных цифр и знаков препинания.
Вторая часть таблицы содержит коды от 128[10] до 255[10]. Эти коды используются для кодировки символов национальных алфавитов и дру- гих символов по правилам, принятым в данной стране.
Кодировка UNICODE использует для кодировки одного символа 16 бит, что позволяет закодировать 65535 символов. Кодировка символов с кодами 0 – 127 совпадает с кодировкой ASCII.
Таблицы кодировки ASCII и UNICODE можно найти в справочной ли- тературе. Остановимся только на некоторых закономерностях кодировки, которые используются программистами при обработке текстовых дан- ных. Все рассматриваемые коды приводятся в десятичной системе счис- ления.
Коды десятичных цифр образуют непрерывную возрастающую после- довательность. Наименьший код имеет цифра ‘0’ – 48, а наибольший код
- цифра ‘9’ – 57.
Это свойство часто используется для получения числового эквива- лента цифры. Для этого из кода цифры необходимо вычесть код цифры ‘0’, например:
Числовой эквивалент цифры ‘4’ = ‘4’ – ‘0’ = 52 – 48 = 4.
Коды латинских прописных (больших) букв образуют непрерывную возрастающую последовательность. Наименьший код у буквы ‘A’ – 65, а наибольший - у буквы ‘Z’ – 90.
Коды латинских строчных (маленьких) букв образуют непрерывную возрастающую последовательность. Наименьший код у буквы ‘a’ – 97, а наибольший - у буквы ‘z’ – 122.
Свойство упорядоченности часто используется для получения поряд- кового номера буквы в латинском алфавите. Рассмотрим пример ( отсчет номеров букв начинается с нуля):
Порядковый номер буквы ‘D’ = ‘D’ – ‘A’ = 68 – 65 = 3
Порядковый номер буквы ‘d’ = ‘d’ – ‘a’ = 100 – 97 = 3
Разность кодов одноименных строчных и прописных букв постоянна и эта разность составляет 32, что соответствует коду пробела. Это свойст- во используется для преобразования строчных букв в прописные и на- оборот, например:
Преобразуем ‘D’ Þ ‘d’: ‘D’ + (‘a’ – ‘A’) = ‘d’
68 + (97 – 65) = 100
Преобразуем ‘d’ Þ ‘D’: ‘d’ - (‘a’ – ‘A’) = ‘D’
100 - (97 – 65) = 68
![]() |
![]() |
Длина строки может указываться явно или косвенно.
Явное указание. Перед символами строки располагается поле фиксиро- ванного размера, в котором указана длина строки.
Косвенное указание. За значащими символами строки размещается до- полнительный символ с заранее оговоренным кодом. Этот символ играет роль признака конца строки. Код этого символа не должен совпадать ни с одним из символов строки. В качестве такового обычно используют символ с кодом 0 и называют его ноль-символом.
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.