Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Кодирование информации.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
566.27 Кб
Скачать

Хранение в эвм символьной информации

Для хранения и обработки текстовой (символьной) информации в своё время институтом стандартов США (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 различных кодов, которых достаточно для представления наиболее употребительных иероглифов китайского и японского языков.