Скачиваний:
69
Добавлен:
27.04.2015
Размер:
2.99 Mб
Скачать

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" истинно.

Если между строками не найдено различий, то они равны. Если две строки равны на протяжении нескольких символов, но одна строка про­должается, а вторая заканчивается, то более длинная строка больше, чем более короткая. Например, выражение "ААААА">"ААА" истинно.

Соседние файлы в папке Пособие-Раздела-04-2008