- •Тема 4.9. Обработка строковых данных
- •4.9.1. Основные понятия
- •4.9.2. Объявление и инициализация строк
- •4.9.3. Средства vb для ввода/вывода и отображения строк
- •4.9.4. Средства vb и vs для обработки строк
- •4.9.5. Работа с кодами ascii
- •4.9.6. Задачи для самостоятельного решения по теме «Обработка строковых данных»
- •4.9.7. Тестовые задания по теме «Обработка строковых данных»
- •Тема 4.9. Обработка строковых данных Страница253
4.9.5. Работа с кодами ascii
Символьные данные можно сравнивать между собой, и, следовательно, сортировать. Прежде чем VB сможет при сортировке сравнить один символ с другим, он должен преобразовать каждый из символов в число с помощью таблицы перевода, которая называется таблицей символов ASCII(или таблицей символов ANSI). ASCII – это сокращение от American Standard Code for Information Interchange (американский стандартный код для обмена информацией). Каждый из основных символов, которые можно отобразить на компьютере, имеет свой код ASCII. Эти коды включают базовый набор символов «клавиатуры» (коды с 32 по 127) и специальные «управляющие» символы, такие, как табуляция, перевод строки и возврат каретки (коды с 0 по 31). Например, буква «а» (латинская) в нижнем регистре соответствует ASCII-коду 97, а буква «А» (тоже латинская) в верхнем регистре соответствует ASCII-коду 65. В результате VB при сортировке или при выполнении других операций считает эти два символа различными.
В 1980-х годах таблица ASCII была расширена кодами с 128 по 255, которые содержали символы национальных языков, греческие символы, символы псевдографики и некоторые другие. Таблицу ASCII с этими дополнительными символами обычно называют расширенной таблицей символов.
Набор символов ASCII не является единственным. При расширении рынка компьютеров и прикладного программного обеспечения был разработан более сложный стандарт представления символов, который называется Unicode. Unicode может хранить до 65536 символов - вполне достаточно для того, чтобы представить традиционные символы набора ASCII плюс большую часть национальных и международных символов. В MS Windows и VS поддерживаются как наборы символов ASCII, так и Unicode.
Чтобы определить ASCII-код конкретной буквы, можно использовать функцию Asc( ) VB. Например, следующий оператор присваивает короткой целочисленной переменной AscCode число 122 (ASCII-код строчной буквы «z»):
Dim AscCode As Short AscCode = Asc("z") |
Точно также с помощью функции Chr()можно преобразовать ASCII-код в букву. Например, следующий программный код присваивает символьной переменной букву «z»:
Dim letter As Char letter = Chr(122) |
Такой же результат можно получить, если использовать только что объявленную переменную AscCode следующим образом:
letter = Chr(AscCode) |
Как сравнить одну текстовую строку или ASCII-код с другой? Использовать один из операторов сравнения, предоставляемых VB для работы с текстовыми и числовыми элементами.
Символ больше, чем другой символ, если его ASCII-код больше. Например, ASCII-значение буквы «В» больше, чем ASCII-значение буквы «А», так что выражение"А"<"В"истинно, а выражение "А">"В" ложно.
При сравнении двух строк, которые содержат больше одного символа, VB начинает со сравнения первого символа первой строки с первым символом второй строки, а затем продолжает посимвольное сравнение этих строк до тех пор, пока не найдет различие. Например, строки Mike и Michael одинаковы до третьего символа («к» и «с»). Так как значение ASCII «k» больше, чем значение «с», выражение "Mike" > "Michael" истинно.
Если между строками не найдено различий, то они равны. Если две строки равны на протяжении нескольких символов, но одна строка продолжается, а вторая заканчивается, то более длинная строка больше, чем более короткая. Например, выражение "ААААА">"ААА" истинно.