Объявление и обработка символов

Тема 9

Алгоритмы обработки символьных данных

Объявление и обработка символов

Объявление и инициализация строк

4.9.3. Средства для ввода/вывода и отображения строк

4.9.3. Средства для ввода/вывода и отображения строк

Средства Visual Basic и Framework.NET для обработки строк

Базовые алгоритмы обработки строки

Примеры их программирования

Тестовые задания

4.9.7. Лабораторная работа по теме «Программирование алгоритмов обработки символьных и строковых данных»

Объявление и обработка символов

Управление электронными документами во многих сферах деятельности является очень важной задачей. В связи с этим VB предоставляет различные механизмы как для работы с текстовыми документами, так и для обработки их содержимого. Наиболее общим типом документов является неформатированный текстовый файл, который состоит из слов, букв, цифр и специальных символов различного назначения.

Известно, что наряду с числовыми данными компьютер может хранить и обрабатывать текстовую информацию. Это, например, тексты документов MS Word, текстовые поля форм VS, текстовые поля баз, данных и др.

Наиболее часто используемой операцией, которая применяется, например, при упорядочивании данных, является сортировка, т.е. символьные данные сравниваются между собой. В программировании, прежде чем сравнить один символ с другим, он должен быть преобразован в число с помощью таблицы ASCII (American Standard Code for Information Interchange – Американский стандартный код для обмена информацией). Поддерживает кодирование 128 буквенно-цифровых символов.

Первые 32 кода базовой таблицы, начиная с нулевого, отданы разработчикам аппаратных средств (в первую очередь производителям компьютеров и печатающих устройств). В этой области размещаются так называемые управляющие коды, которым не соответствуют никакие символы языков, и, соответственно, эти коды не выводятся ни на экран, ни на устройства печати, но используются для функций управления (например, возврата каретки или возврата на один символ).

Национальные стандарты кодировочных таблиц включают международную часть кодовой таблицы без изменений, а во второй половине содержат коды национальных алфавитов, символы псевдографики и некоторые математические знаки.

Начиная с кода 32 по код 127 размещены коды символов английского алфавита, знаков препинания, цифр, арифметических действий и некоторых вспомогательных символов. Базовая таблица кодировки ASCII показана в табл. 4.9.1-1.

Таблица 4.9.1-1. Базовая таблица кодировки ASCII

Объявление и обработка символов - №1 - открытая онлайн библиотека

Наиболее распространенной в настоящее время является кодировка Windows 1251 (табл. 4.9.1-2) с учетом широкого использования операционных систем и других продуктов этой компании в России.

Таблица 4.9.1-2. Таблица кодировки Windows 1251

Объявление и обработка символов - №2 - открытая онлайн библиотека

В 1991 г. появился новый международный стандартUnicode
16-разрядная система кодирования, совместимая с системой ASCII. В Unicode под один символ отводится не один байт, а два, поэтому с его помощью можно закодировать не 256, а 65536 различных символов. Полная спецификация стандарта Unicode охватывает символы различных письменностей латинской, кириллической, греческой, а также языков, использующих иероглифы, например, китайского и японского.

Каждый из символов, который содержится на клавиатуре, имеет свой код ASCII. Специальные «управляющие» символы, такие как табуляция, перевод строки и возврат каретки, имеют коды с 0 по 31, базовые символы клавиатуры имеют коды с 32 по 127. Например, буква a (латинская) в нижнем регистре соответствует ASCII-коду 97, а буква A (тоже латинская) в верхнем регистре соответствует ASCII-коду 65. В результате VB при сортировке или при выполнении других операций считает эти два символа различными. Коды с 128 по 255 в таблице ASCII содержат символы национальных языков, греческие символы, символы псевдографики и некоторые другие.

Для работы с символами в языке VB имеется ряд встроенных функций. Приведем ряд примеров.

Чтобы определить ASCII-код конкретной буквы, можно использовать функцию языка VB Asc(). Например, следующий оператор присваивает целочисленной переменной a число 122 (ASCII-код строчной буквы z):

Dim a As Short a = Asc("z")

С помощью функции Chr() можно преобразовать ASCII-код в символ. Например, следующий код присваивает символьной переменной символ z:

Dim l As Char l = Chr(122)

Считается, что символ больше, чем другой символ, если его ASCII-код больше. Например, ASCII-значение буквы B больше, чем ASCII-значение буквы А, так что выражение "А" < "В" истинно, а выражение "А" > "В" – ложно.