
- •Кодирование информации
- •Цель работы
- •Измерение информации
- •Оперативная память
- •ОсноВные понятия теории кодирования информации Передача информации. Информационные каналы
- •Абстрактный алфавит
- •Кодирование и декодирование
- •Равномерное Двоичное кодирование информации
- •Представление числовой и символьной информации Представление и хранение чисел в формате с фиксированной точкой
- •Представление и хранение чисел в формате с плавающей точкой
- •Хранение в эвм символьной информации
- •Кодирование команд
- •Представление графической информации Основные принципы представления в компьютере графической информации Понятие растра и пикселя
- •Глубина цвета
- •Расчёт объёма памяти, необходимой для хранения графического изображения
- •Понятие растровой и векторной графики
- •Задачи и упражнения
- •Вопросы для самоконтроля
- •Рекомендуемая литература
- •Содержание
- •Кодирование информации
- •654007, Г. Новокузнецк, ул. Кирова, 42 Издательский центр СибГиу
Хранение в эвм символьной информации
Для хранения и обработки текстовой (символьной) информации в своё время институтом стандартов США (ANSI) был разработан способ кодирования текстовых символов (знаков). Он предусматривает кодировку каждого символа числом, содержащим восемь битов (один байт). Такой код получил название ASCII (американский стандартный код для обмена информацией). Конечно, разным символам соответствуют разные коды и наоборот. Между кодами и символами имеет место взаимно однозначное соответствие.
Так как один байт содержит диапазон чисел 0÷255, то в одной таблице кодировок возможно отобразить 256 знаков. Используя несколько таблиц кодировок можно расширить число кодируемых знаков, практически неограниченно, хотя при этом возникают проблемы с заменой таблиц кодировок в нужные моменты времени.
Таблица кодов ASCII имеет основной стандарт (смотри таблицу 5) и его расширение.
Таблица 5
Код |
Символ |
Код |
Символ |
Код |
Символ |
Код |
Символ |
00 |
NUL |
20 |
SP -пробел |
40 |
@ |
60 |
` |
01 |
SOH |
21 |
! |
41 |
A |
61 |
a |
02 |
STX |
22 |
“ |
42 |
В |
62 |
b |
03 |
ЕТX |
23 |
# |
43 |
С |
63 |
с |
04 |
EOT |
24 |
$ |
44 |
D |
64 |
d |
05 |
ENQ |
25 |
% |
45 |
E |
65 |
e |
06 |
АСK |
26 |
& |
46 |
F |
66 |
f |
07 |
BEL |
27 |
‘ |
47 |
G |
67 |
g |
08 |
BS |
28 |
( |
48 |
H |
68 |
h |
09 |
НТ |
29 |
) |
49 |
I |
69 |
i |
0A |
LF |
2A |
* |
4A |
J |
6A |
j |
0B |
VT |
2B |
+ |
4B |
К |
6B |
k |
0C |
FF |
2C |
, |
4C |
L |
6C |
1 |
0D |
CR |
2D |
- |
4D |
M |
6D |
m |
0E |
SO |
2E |
. |
4E |
N |
6E |
n |
0F |
SI |
2F |
/ |
4F |
O |
6F |
o |
10 |
DLE |
30 |
0 |
50 |
P |
70 |
p |
11 |
DC1 |
31 |
1 |
51 |
Q |
71 |
q |
12 |
DC2 |
32 |
2 |
52 |
R |
72 |
г |
13 |
DC3 |
33 |
3 |
53 |
S |
73 |
s |
14 |
DC4 |
34 |
4 |
54 |
T |
74 |
t |
15 |
NAK |
35 |
5 |
55 |
U |
75 |
u |
16 |
SYN |
36 |
6 |
56 |
V |
76 |
v |
17 |
ETB |
37 |
7 |
57 |
W |
77 |
w |
18 |
CAN |
38 |
8 |
58 |
X |
78 |
x |
19 |
EM |
39 |
9 |
59 |
Y |
79 |
y |
1A |
SUВ |
3A |
: |
5A |
Z |
7A |
z |
1B |
ESС |
3B |
; |
5B |
[ |
7B |
{ |
1C |
FS |
3C |
< |
5C |
\ |
7C |
| |
1D |
GS |
3D |
= |
5D |
] |
7D |
} |
1E |
RS |
3E |
> |
5E |
^ |
7E |
~ |
1F |
US |
3F |
? |
5F |
подчёркивание |
7F |
DEL |
Основной стандарт кодирования символов использует шестнадцатеричные коды в диапазоне 00÷7F, в котором размещаются большие и маленькие буквы английского алфавита, арифметические знаки, цифры, управляющие коды и т. п. (смотри таблицу 5). В расширении стандарта (диапазон кодов 80÷FF) кодируются символы псевдографики, буквы национальных алфавитов, готические символы и т.д. В таблице 5 первые 31 символ управляющие и не имеют символьного представления. Коды даны шестнадцатеричные.
При вводе чисел с клавиатуры в ЭВМ поступает последовательность кодов – байтов. Затем, при необходимости, эти коды преобразуются во внутреннее представление в формате с фиксированной или плавающей точкой. Например, если мы нажимаем на клавиатуре, последовательно, на три клавиши «1», «2», «5», то в ЭВМ поступают один за другим в соответствии с таблицей кодов ASCII три кода: 3116, 3216 , 3516 . Эти коды программным способом преобразуются во внутреннее представление. Если предположить, что этот символьный код числа «125» надо преобразовать в число с фиксированной точкой, то после программного преобразования будет получен двоичный код 11111012.
Пример. Представить в кодировке ASCII следующий текст: «Who is who?». Согласно таблице 5 этот текст будет представлен следующими шестнадцатеричными кодами: 57 68 6f 20 69 73 20 57 68 6f 3f . Конечно, при хранении в памяти компьютера это хранится в виде двоичного кода, который получаем согласно работе [4]: 01010111 01101000 01101111 00100000 01101001 01110011 00100000 01010111 01101000 01101111 00111111.
Возможно и обратное преобразование: имея двоичный получить символьный код. Например, имеем следующий двоичный код:
01001101 01111001 00100000 01101110 01100001 01101101 01100101 00100000 01101001 01110011 00100000 01001110 01101001 01101011. Сначала преобразуем этот код в шестнадцатеричный код: 4d 79 20 6e 61 6d 65 20 69 73 20 4e 69 6b. Далее, используя таблицу 5, получаем: My name is Nik.
Большинство компиляторов для хранения и обработки текстовой информации внутри ЭВМ используют коды ASCII. Однако, системы кодирования, способные представлять любые национальные алфавиты в настоящее время имеют большую популярность. Одна из них – Unicode – для представления символов использует уникальные двоичные последовательности из 16 бит. В результате чего стандарт Unicode включает в себя 65536 различных кодов, которых достаточно для представления наиболее употребительных иероглифов китайского и японского языков.