
Представление текстовых данных
Любой текст состоит из последовательности символов. Символами могут быть буквы, цифры, знаки препинания, знаки математических действий, круглые и квадратные скобки и т.д. Особо обратим внимание на символ “пробел”, который используется для разделения слов и предложений между собой. Хотя на бумаге или экране дисплея “про-бел” — это пустое, свободное место, этот символ ничем не “хуже” любого другого символа. На клавиатуре компьютера или пишущей машинки символу “пробел” соответствует специальная клавиша.
Текстовая информация, как и любая другая, хранится в памяти компьютера в двоичном виде. Для этого каждому символу ставится в соответствие некоторое неотрицательное число, называемое кодом символа, и это число записыва-ется в память ЭВМ в двоичном виде. Конкретное соответствие между символами и их кодами называется системой кодировки.
В современных ЭВМ, в зависимости от типа операционной системы и конкретных прикладных программ, используются 8-разрядные и 16-разрядные (Windows 95, 98, NT) коды символов. Использование 8-разрядных кодов позволяет закодировать 256 различных знаков, этого вполне достаточно для представления многих символов, используемых на практике. При такой кодировке для кода символа достаточно выделить в памяти один байт. Так и делают: каждый символ представляют своим кодом, который записывают в один байт памяти.
Таблица 1
Таблица символов кода ASCII
Старшая цифра Младшая цифра |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
0 |
NUL |
DLE |
SP |
0 |
@ |
P |
` |
p |
1 |
SOH |
DC1 |
! |
1 |
A |
Q |
a |
q |
2 |
STX |
DC2 |
" |
2 |
B |
R |
b |
r |
3 |
ETX |
DC3 |
# |
3 |
C |
S |
с |
s |
4 |
EOT |
DC4 |
$ |
4 |
D |
Т |
d |
t |
5 |
ENQ |
МАК |
% |
5 |
E |
U |
e |
u |
6 |
AСК |
SYM |
& |
6 |
F |
U |
f |
v |
7 |
BEL |
ETB |
' |
7 |
G |
W |
g |
w |
8 |
BS |
CAM |
( |
8 |
H |
X |
h |
x |
9 |
HT |
ЕM |
) |
9 |
I |
Y |
i |
y |
А |
LF |
SUB |
* |
: |
J |
Z |
j |
z |
В |
UT |
ESC |
+ |
; |
К |
[ |
k |
{ |
С |
FF |
FS |
, |
< |
L |
\ |
l |
| |
D |
CR |
GS |
- |
= |
M |
] |
m |
} |
Е |
SO |
RS |
|
> |
N |
^ |
n |
~ |
F |
SI |
US |
/ |
? |
O |
_ |
o |
DEL |
В персональных компьютерах обычно используется система кодировки ASCII (American Standard Code for Information Interchange — американский стандартный код для обмена информации). Он введен в 1963 г. и ставит в соответствие каждому символу семиразрядный двоичный код. Легко определить, что в коде ASCII можно представить 128 символов.
ASCII-кодировка символов приведена в табл. 1. Элементами изображенной матрицы являются обозначения символов, а индексами — шестнадцатеричные цифры кодов символов. Для получения шестнадцатеричного кода символа необходимо к цифре-индексу, записанной в соответствующем столбце, приписать справа цифру-индекс, размещенную в соответствующей строке матрицы. Например, символ G имеет код 47Н (H- соответствует шестнадцатеричой системе). Из шестнадцатеричного кода легко получить двоичный код путем записи каждой шестнадцатеричной цифры в двоичной системе счисления (для нашего примера получим 1000111). Если требуется по двоичному коду определить представленный им символ, то следует свернуть этот код в шестнадцатеричное число, разбить его на цифры и найти обозначение символа на пересечении столбца и строки, индексами которых являются старшая и младшая шестнадцатеричные цифры кода соответственно.
ASCII содержит две группы символов: 1) прописные и строчные латинские буквы, цифры, а также специальные знаки, т.е. символы пишущей машинки; 2) управляющие символы, используемые в коммуникационных протоколах, в частности, для передачи команд ПУ.
Символы пишущей машинки имеют коды 20Н — 7ЕН, а управляющие символы — ООН — 1FH и 7FH.
Относительно символов пишущей машинки специальные пояснения не требуются, метим только, что символ с кодом 2DH — это знак “минус”, а с кодом 5FH — подчеркивания. Символы с кодами 27Н и 60Н также различаются между собой: первый является апострофом, а второй — знаком тупого (обратного) ударения. Символ " (один символ!) называется кавычками, &; — амперсандом, # — знаком номера, ^ —стрелкой | — вертикальной чертой,~ — знаком надчеркивания (тильдой), а @ — коммерческим "эт". Символ SP обозначает пробел (Space).
Управляющие символы стандартно интерпретируются следующим образом: (NULI) — пустой символ, не имеющий значения (может использоваться для задержек); (Start Of Heading) — начало заголовка (с него начинается передача блока данных);
В этой системе не предусмотрены коды для русского алфавита, поэтому в нашей стране используются варианты этой системы кодировки, в которые включают буквы русского алфавита. Чаще всего используется вариант, известный под названием “Альтернативная кодировка”.