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

Символы

Это отдельные символы. Определены следующие типы:

Тип Перевод Байт в памяти Примечание
AnsiChar Символ ANSI 1 256 символов
WideChar Символ Unicod 2 Первые 256 символов, как в ANSI
Char Символ 1 = AnsiChar.

ANSI – кодировка символов американского института стандартов. Используется для алфавита малого размера, каждый символ кодируется одним байтом.

  • Символы 0..127 интернациональны. Символы 128..255 – знаки национального языка.
  • Символы 0…31 не имеют визуального представления и используются для служебных целей.

Примеры служебных символов

Назначение
7 Звуковой сигнал
9 Табуляция
11 Новая строка
13 Конец абзаца
32 Пробел

Символы с кодами 32—127

Знак Знак Знак Знак Знак Знак
32 Пробел 48 0 64 @ 80 P 96 ` 112 p
33 ! 49 1 65 A 81 Q 97 a 113 q
34 50 2 66 B 82 R 98 b 114 r
35 # 51 3 67 C 83 S 99 c 115 s
36 $ 52 4 68 D 84 T 100 d 116 t
37 % 53 5 69 E 85 U 101 e 117 u
38 & 54 6 70 F 86 V 102 f 118 v
39 55 7 71 G 87 W 103 g 119 w
40 ( 56 8 72 H 88 X 104 h 120 x
41 ) 57 9 73 I 89 Y 105 i 121 y
42 * 58 : 74 J 90 Z 106 j 122 z
43 + 59 ; 75 K 91 [ 107 k 123 {
44 , 60 < 76 L 92 \ 108 l 124 |
45 - 61 = 77 M 93 ] 109 m 125 }
46 . 62 > 78 N 94 ^ 110 n 126 ~
47 / 63 ? 79 O 95 _ 111 o 127

Символы 128..255 интернациональны. Конкретный набор символов зависит от выбранного языка и шрифта. Ниже представлены примеры для шрифта Times New Roman. Символы 128..191 – специальные знаки. Символы 192.. 255 – буквы кириллицы.

Примеры специфических символов

Знак Назначение Знак Назначение
136 Знак Евро 171 « Левые кавычки
147 Левые кавычки 172 » Правые кавычки
148 Правые кавычки 174 ® Знак регистрации
153 Знак торговой марки 176 ° Знак градуса Цельсия
164 ¤ Знак валюты 177 ± Знак плюс/минус
167 § Знак параграфа 184 ё Буква ё
168 Ё Буква Ё 185 Знак номера
169 © Знак авторского права

Символы 192 – 255

Знак Знак Знак Знак Знак Знак Знак Знак
192 А 200 И 208 Р 216 Ш 224 а 232 и 240 р 248 ш
193 Б 201 Й 209 С 217 Щ 225 б 233 й 241 с 249 щ
194 В 202 К 210 Т 218 Ъ 226 в 234 к 242 т 250 ъ
195 Г 203 Л 211 У 219 Ы 227 г 235 л 243 у 251 ы
196 Д 204 М 212 Ф 220 Ь 228 д 236 м 244 ф 252 ь
197 Е 205 Н 213 Х 221 Э 229 е 237 н 245 х 253 э
198 Ж 206 О 214 Ц 222 Ю 230 ж 238 о 246 ц 254 ю
199 З 207 П 215 Ч 223 Я 231 з 239 п 247 ч 255 я

Кодировка ASCII

Внимание! При разработке консольного приложения осуществляется эмуляция операционной системы ДОС.  В ДОС  используется символьный интерфейс командной строки и псевдографика для рисования таблиц. Применяется таблица кодировки символов ASCII (американский стандартный код для обмена информацией).

Кодировка ASCII отличается от ANSI. Она содержит 256 символов. Символы 0..127 интернациональны. Они такие же, как для кодировки ANSI. Символы с кодами 128 – 255 зависят от национального языка. Ниже даны символы для ныне используемой в России кодировки ASCII.

Символы с кодами 128 – 255

Знак Знак Знак Знак Знак Знак Знак Знак
128 А 144 Р 160 а 176 192 ‼2 208 224 р 240 Ё
129 Б 145 С 161 б 177 193 209 225 с 241 ё
130 В 146 Т 162 в 178 194 210 226 т 242 Є
131 Г 147 У 163 г 179 195 211 227 у 243 є
132 Д 148 Ф 164 д 180 196 212 228 ф 244 Ї
133 Е 149 Х 165 е 181 197 213 229 х 245 ї
134 Ж 150 Ц 166 ж 182 198 214 230 ц 246 Ў
135 З 151 Ч 167 з 183 199 215 231 ч 247 ў
136 И 152 Ш 168 и 184 200 216 232 ш 248 °
137 Й 153 Щ 169 й 185 201 217 233 щ 249
138 К 154 Ъ 170 к 186 202 218 234 ъ 250 ·
139 Л 155 Ы 171 л 187 203 219 235 ы 251
140 М 156 Ь 172 м 188 204 220 236 ь 252
141 Н 157 Э 173 н 189 205 221 237 э 253 ¤
142 О 158 Ю 174 о 190 206 222 238 ю 254
143 П 159 Я 175 п 191 207 223 239 я 255

По сравнению с ASCII в ANSI нет символов псевдографики. Поэтому номера кодов символов кириллицы другие.

Unicod – способ кодирования символов в алфавитах большого размера. Каждый символ кодируется двумя байтами. Можно иметь 64К символов. Первые 256 символов – коды ANSI.

Строки

Это последовательность символов, заключенная в апострофы. Примеры:

  • ’FPC’
  • ’’ – пустая строка. Два апострофа, а не кавычки.

Чтобы апостроф включить в строку, его надо записать дважды. Тогда он будет интерпретироваться просто, как символ.

  • ’Это ”FPC’’, новая версия языка’.

В строку можно включать управляющие коды с номерами 0..31.  Они вызывают определенное действие. Например, код #7 включает звуковой сигнал. Они не имеют символьного представления. Поэтому вводятся номерами. Перед номером кода добавляется знак номера #, как признак этого. Примеры

  • Включить в строку управляющий код 13: ’#13 ’.
  • Включить в строку управляющие коды 13 и 7: ’#13#7 ’.

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

Определены строковые типы:

Тип Длина Байты Примечание
ShortString[n] Не более 255. Длина + 1 Короткая строка. В старом Паскале это String. Под символ 1 байт.
Создается в статической памяти.
AnsiString До 231 Длина + 4 Строка с кодом ANSI. Под символ 1 байт. Создается в динамической памяти.
WideString До 231 Длина/2 + 4 Широкая строка в коде Unicod. Под символ 2 байта. Создается в динамической памяти.
String По умолчанию совпадает с AnsiString.
Pchar Не ограничено Длина + 1 Указатель на символ. Под символ 1 байт. Создается в динамической памяти.

ShortString содержит L символов (до 255). В памяти под нее выделяется статически L+1 байт. В  первый байт помещается число, равное L. Если размер явно не задан, то L=255. Указание типа String для переменной объявляет её как короткую строку (short string) в следующих случаях:

  • Указана директива {$H-}. При этом объявление String всегда будет равнозначно объявлению переменной как short string.
  • Указана директива {$H+} и задана длина строки в объявлении. При этом объявление типа String есть объявление короткой строки.

AnsiString и WideString создаются в динамической памяти. Статически под них создаются указатели размером в 4 байта для адреса начала строки. Для AnsiString и WideString число символов в строке до 2 Гбайт. Размеры AnsiString и WideString ограничены только доступной памятью. WideString отличается от AnsiString тем, что под каждый символ отводится 2 байта. Для таких строк память отводится в 2 раза больше. WideString предназначена для документов с алфавитом с большим числом символов (например, китайский текст).

Рекомендуемый тип String. По умолчанию ему соответствует AnsiString.

Если употребляется string[n], то статически создается строка типа ShortString с заданным размером.

Строка PChar кончается символом #0 и может содержать любые другие символы. Широко используется внутри ОС Windows. Для строки PChar используется и обозначение ASCIIZ, что означает строка в кодировке ASCII, завершающая нулем (Z – zero, код с номером 0). Помещается в динамическую память по адресу, который заносится в указатель, создаваемый статически при компиляции программы.

Twitter SEO Community Ваау! News2.ru Chipp Korica SMI2 Google Bookmarks Digg I.ua Закладки Yandex Linkstore Myscoop Communizm Ru-marks Webmarks Ruspace Linkomatic Kli.kz Web-zakladka Zakladok.net Reddit delicious Ma.gnolia Technorati Slashdot Yahoo My Web БобрДобр.ru Memori.ru rucity.com МоёМесто.ru Mister Wong

Copyright © 2009-2010 Программирование на паскале.