Ascii code

Структурные свойства таблицы

  • Коды символов цифр «0»—«9» в двоичной системе счисления начинаются с 00112, а заканчиваются двоичными значениями чисел. Например, 01012 — число 5, а 0011 01012 — символ «5». Зная об этом — можно преобразовать двоично-десятичные числа (BCD) в ASCII-строку с помощью простого добавления слева 00112 к каждому двоично-десятичному полубайту.
  • Буквы «A»—«Z» верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на принадлежность кода к диапазону значений. Буквы представляются своими порядковыми номерами в алфавите, записанными пятью цифрами в двоичной системе счисления, перед которыми стоит 0102 (для букв верхнего регистра) или 0112 (для букв нижнего регистра).

Таблица ASCII

ASCII (American Standard Code for Information Interchange)


Dec

Hex

Char

Dec

Hex

Char

Dec

Hex

Char

Dec

Hex

Char

NUL

32

20

(sp)

64

40

@

96

60

`

1

1

SOH

33

21

65

41

A

97

61

a

2

2

STX

34

22

«

66

42

B

98

62

b

3

3

ETX

35

23

#

67

43

C

99

63

c

4

4

EOT

36

24

$

68

44

D

100

64

d

5

5

ENQ

37

25

%

69

45

E

101

65

e

6

6

ACK

38

26

&

70

46

F

102

66

f

7

7

BEL

39

27

71

47

G

103

67

g

8

8

BS

40

28

72

48

H

104

68

h

9

9

TAB

41

29

73

49

I

105

69

i

10

A

LF

42

2A

74

4A

J

106

6A

j

11

B

VT

43

2B

+

75

4B

K

107

6B

k

12

C

FF

44

2C

,

76

4C

L

108

6C

l

13

D

CR

45

2D

77

4D

M

109

6D

m

14

E

SO

46

2E

78

4E

N

110

6E

n

15

F

SI

47

2F

79

4F

O

111

6F

o

16

10

DLE

48

30

80

50

P

112

70

p

17

11

DC1

49

31

1

81

51

Q

113

71

q

18

12

DC2

50

32

2

82

52

R

114

72

r

19

13

DC3

51

33

3

83

53

S

115

73

s

20

14

DC4

52

34

4

84

54

T

116

74

t

21

15

NAK

53

35

5

85

55

U

117

75

u

22

16

SYN

54

36

6

86

56

V

118

76

v

23

17

ETB

55

37

7

87

57

W

119

77

w

24

18

CAN

56

38

8

88

58

X

120

78

x

25

19

EM

57

39

9

89

59

Y

121

79

y

26

1A

SUB

58

3A

90

5A

Z

122

7A

z

27

1B

ESC

59

3B

91

5B

123

7B

{

28

1C

FS

60

3C

92

5C

124

7C


|

29

1D

GS

61

3D

=

93

5D

125

7D

}

30

1E

RS

62

3E

94

5E

^

126

7E

~

31

1F

US

63

3F

95

5F

_

127

7F

DEL

Наложение символов

С помощью символа Backspace (BS) (возврат на один символ) на принтере можно печатать один символ поверх другого. В ASCII таким же способом можно добавить к буквам диакритические знаки, например:

  • → á
  • → à
  • → â
  • → ø
  • → ç
  • → ñ

Примечание. В старых шрифтах — апостроф «’» рисовался с наклоном влево (сравните: «`» и «´»), а тильда «~» — была сдвинута вверх (сравните: «~» и «˜»), так что они как раз подходили на роль символов акут «´» и «тильда сверху».

Если в одной позиции дважды напечатать один и тот же символ — получится жирный символ; если в одной позиции напечатать символ, а затем подчёркивание «_» — получится подчёркнутый символ:

  • a
  • → a

Эта техника до сих пор используется, например, в справочной системе man.

Сводная таблица кодов ASCII

ASCII таблица кодов символов Windows (Win-1251)

Dec

Hex

Символ

000

00

спец. NOP

001

01

спец. SOH

002

02

спец. STX

003

03

спец. ETX

004

04

спец. EOT

005

05

спец. ENQ

006

06

спец. ACK

007

07

спец. BEL

008

08

спец. BS

009

09

спец. Табуляция

010

0A

спец. LF (Возвр. каретки)

011

0B

спец. VT

012

0C

спец. FF

013

0D

спец. CR (Новая строка)

014

0E

спец. SO

015

0F

спец. SI

016

10

спец. DLE

017

11

спец. DC1

018

12

спец. DC2

019

13

спец. DC3

020

14

спец. DC4

021

15

спец. NAK

022

16

спец. SYN

023

17

спец. ETB

024

18

спец. CAN

025

19

спец. EM

026

1A

спец. SUB

027

1B

спец. ESC

028

1C

спец. FS

029

1D

спец. GS

030

1E

спец. RS

031

1F

спец. US

032

20

сцеп. SP (Пробел)

033

21

034

22

«

035

23

#

036

24

$

037

25

%

038

26

&

039

27

040

28

041

29

042

2A

043

2B

+

044

2C

,

045

2D

046

2E

047

2F

048

30

049

31

1

050

32

2

051

33

3

052

34

4

053

35

5

054

36

6

055

37

7

056

38

8

057

39

9

058

3A

059

3B

060

3C

061

3D

=

062

3E

063

3F

064

40

@

065

41

A

066

42

B

067

43

C

068

44

D

069

45

E

070

46

F

071

47

G

072

48

H

073

49

I

074

4A

J

075

4B

K

076

4C

L

077

4D

M

078

4E

N

079

4F

O

080

50

P

081

51

Q

082

52

R

083

53

S

084

54

T

085

55

U

086

56

V

087

57

W

088

58

X

089

59

Y

090

5A

Z

091

5B

092

5C

093

5D

094

5E

^

095

5F

_

096

60

`

097

61

a

098

62

b

099

63

c

100

64

d

101

65

e

102

66

f

103

67

g

104

68

h

105

69

i

106

6A

j


107

6B

k

108

6C

l

109

6D

m

110

6E

n

111

6F

o

112

70

p

113

71

q

114

72

r

115

73

s

116

74

t

117

75

u

118

76

v

119

77

w

120

78

x

121

79

y

122

7A

z

123

7B

{

124

7C

|

125

7D

}

126

7E

~

127

7F

Dec

Hex

Символ

128

80

Ђ

129

81

Ѓ

130

82

131

83

ѓ

132

84

133

85

134

86

135

87

136

88

137

89

138

8A

Љ

139

8B

140

8C

Њ

141

8D

Ќ

142

8E

Ћ

143

8F

Џ

144

90

ђ

145

91

146

92

147

93

148

94

149

95

150

96

151

97

152

98

153

99

154

9A

љ

155

9B

156

9C

њ

157

9D

ќ

158

9E

ћ

159

9F

џ

160

A0

161

A1

Ў

162

A2

ў

163

A3

Ј

164

A4

¤

165

A5

Ґ

166

A6

¦

167

A7

§

168

A8

Ё

169

A9

170

AA

Є

171

AB

172

AC

¬

173

AD

 

174

AE

175

AF

Ї

176

B0

°

177

B1

±

178

B2

І

179

B3

і

180

B4

ґ

181

B5

µ

182

B6

183

B7

·

184

B8

ё

185

B9

186

BA

є

187

BB

188

BC

ј

189

BD

Ѕ

190

BE

ѕ

191

BF

ї

192

C0

А

193

C1

Б

194

C2

В

195

C3

Г

196

C4

Д

197

C5

Е

198

C6

Ж

199

C7

З

200

C8

И

201

C9

Й

202

CA

К

203

CB

Л

204

CC

М

205

CD

Н

206

CE

О

207

CF

П

208

D0

Р

209

D1

С

210

D2

Т

211

D3

У

212

D4

Ф

213

D5

Х

214

D6

Ц

215

D7

Ч

216

D8

Ш

217

D9

Щ

218

DA

Ъ

219

DB

Ы

220

DC

Ь

221

DD

Э

222

DE

Ю

223

DF

Я

224

E0


а

225

E1

б

226

E2

в

227

E3

г

228

E4

д

229

E5

е

230

E6

ж

231

E7

з

232

E8

и

233

E9

й

234

EA

к

235

EB

л

236

EC

м

237

ED

н

238

EE

о

239

EF

п

240

F0

р

241

F1

с

242

F2

т

243

F3

у

244

F4

ф

245

F5

х

246

F6

ц

247

F7

ч

248

F8

ш

249

F9

щ

250

FA

ъ

251

FB

ы

252

FC

ь

253

FD

э

254

FE

ю

255

FF

я

Наложение символов

С помощью символа Backspace (BS) (возврат на один символ) на принтере можно печатать один символ поверх другого. В ASCII таким же способом можно добавить к буквам диакритические знаки, например:

  • → á
  • → à
  • → â
  • → ø
  • → ç
  • → ñ

Примечание. В старых шрифтах — апостроф «’» рисовался с наклоном влево (сравните: «`» и «´»), а тильда «~» — была сдвинута вверх (сравните: «~» и «˜»), так что они как раз подходили на роль символов акут «´» и «тильда сверху».

Если в одной позиции дважды напечатать один и тот же символ — получится жирный символ; если в одной позиции напечатать символ, а затем подчёркивание «_» — получится подчёркнутый символ:

  • a
  • → a

Эта техника до сих пор используется, например, в справочной системе .

Структурные свойства таблицы

  • Коды символов цифр «0»—«9» в двоичной системе счисления начинаются с 00112, а заканчиваются двоичными значениями чисел. Например, 01012 — число 5, а 0011 01012 — символ «5». Зная об этом — можно преобразовать двоично-десятичные числа (BCD) в ASCII-строку с помощью простого добавления слева 00112 к каждому двоично-десятичному полубайту.
  • Буквы «A»—«Z» верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на принадлежность кода к диапазону значений. Буквы представляются своими порядковыми номерами в алфавите, записанными пятью цифрами в двоичной системе счисления, перед которыми стоит 0102 (для букв верхнего регистра) или 0112 (для букв нижнего регистра).

Ссылки

Кодировки символов
Основы алфавит • текст (файл • данные) • набор символов • конверсия
Исторические кодировки Докомп.: семафорная (Макарова) • Морзе • Бодо • МТК-2
Комп.: 6-битная • УПП • RADIX-50 • EBCDIC (ДКОИ-8) • КОИ-7 • ISO 646
современное8-битноепредставление символы ASCII (управляющие • печатные) • не-ASCII (псевдографика)
8-битные код.стр. Кириллица: КОИ-8 • Основная кодировка • MacCyrillic
ISO 8859 1 (лат.) • • • • 5 (кир.) • • • • • • • • • • 15 (€) •
Windows • 1251 (кир.) • • • • • • • • WGL4
IBM & DOS • • • • 866 «альт.» • МИК
Многобайтные Традиционные DBCS (GB2312) • HTML
Unicode UTF-32 • UTF-16 • UTF-8 • список символов (кириллица)
Связанные темы интерфейс пользователя • раскладка клавиатуры • локаль • перевод строки • шрифт • транслит • нестандартные шрифты
Утилиты iconv • recode

Другие символы.

NUL

Null. (No character- нет данных). Применяется для передачи в случае отсутствия данных.

BEL

Bell (Звонок). Применяется для управления устройствами сигнализации.

SO

Shift Out. Показывает, что все последующие кодовые комбинации должны интерпретироваться согласно внешнему набору символов до прихода символа SI.

SI

Shift In. Показывает, что последующие кодовые комбинации должны интерпретироваться согласно стандартному набору символов.

DLE

Data Link Escape (Переключение). Изменение значения идущих следом символов. Применяется для дополнительного контроля или для передачи произвольной комбинации бит.

DC1, DC2, DC3, DC4

Device Controls (Контроль Устройства). Символы для управления вспомогательными устройствами (специальными функциями).

CAN

Cancel (Отмена). Показывает, что данные, которые предшествовали этому символу в сообщении или блоке, должны игнорироваться (обычно в случае обнаружения ошибки).

EM

End of Medium (Конец Носителя). Указывает на физический конец ленты или другого носителя информации

SUB

Substitute (Заместитель). Применяется для подмены ошибочного или недопустимого символа.

ESC

Escape (Расширение). Применяется для расширения кода, указывая на то, что последующий символ имеет альтернативное значение.

(sp)

Space (Пробел). Непечатаемый символ для разделения слов или перемещения механизма печати или курсора дисплея вперед на одну позицию.

DEL

Delete (Удаление). Применяется для удаления (стирания) предыдущего знака в сообщении

ANSI Characters (128-159)

These characters are part of Windows-1252. In ISO-8859-1 these characters are control characters.

C Dec Hex Oct Binary Entity Name
128 80 200 10000000 € Euro sign
  129 81 201 10000001 (Not used)
130 82 202 10000010 ‚ Single low-9 quotation mark
ƒ 131 83 203 10000011 ƒ Latin small letter f with hook
132 84 204 10000100 „ Double low-9 quotation mark
133 85 205 10000101 … Horizontal ellipsis
134 86 206 10000110 † Dagger
135 87 207 10000111 ‡ Double dagger
ˆ 136 88 210 10001000 ˆ Modifier letter circumflex accent
137 89 211 10001001 ‰ Per mille sign
Š 138 8A 212 10001010 Š Latin capital letter S with caron
139 8B 213 10001011 ‹ Single left-pointing angle quotation mark
Π140 8C 214 10001100 ΠLatin capital ligature OE
  141 8D 215 10001101 (Not used)
Ž 142 8E 216 10001110 Ž Latin capital letter Z with caron
  143 8F 217 10001111 (Not used)
  144 90 220 10010000 (Not used)
145 91 221 10010001 ‘ Left single quotation mark
146 92 222 10010010 ’ Right single quotation mark
147 93 223 10010011 “ Left double quotation mark
148 94 224 10010100 ” Right double quotation mark
149 95 225 10010101 • Bullet
150 96 226 10010110 – En dash
151 97 227 10010111 — Em dash
˜ 152 98 230 10011000 ˜ Small tilde
153 99 231 10011001 ™ Trade mark sign
š 154 9A 232 10011010 š Latin small letter s with caron
155 9B 233 10011011 › Single right-pointing angle quotation mark
œ 156 9C 234 10011100 œ Latin small ligature oe
  157 9D 235 10011101 (Not used)
ž 158 9E 236 10011110 ž Latin small letter z with caron
Ÿ 159 9F 237 10011111 Ÿ Latin capital letter Y with diaeresis

ASCII Characters (32-126)

These characters are part of ASCII, Windows-1252 and ISO-8859-1.

Characters with ASCII codes 32 to 126 are so-called printable characters intended for display or output on printers.

C Dec Hex Oct Binary Entity Name
  32 20 040 00100000 Space
! 33 21 041 00100001 ! Exclamation mark
« 34 22 042 00100010 " Quotation mark
# 35 23 043 00100011 # Number sign
$ 36 24 044 00100100 $ Dollar sign
% 37 25 045 00100101 % Percent sign
& 38 26 046 00100110 & Ampersand
39 27 047 00100111 ' Apostrophe
( 40 28 050 00101000 ( Left parenthesis
) 41 29 051 00101001 ) Right parenthesis
* 42 2A 052 00101010 * Asterisk
+ 43 2B 053 00101011 + Plus sign
, 44 2C 054 00101100 , Comma
45 2D 055 00101101 Hyphen (minus sign)
. 46 2E 056 00101110 . Period
47 2F 057 00101111 / Slash
48 30 060 00110000 Digit 0
1 49 31 061 00110001 Digit 1
2 50 32 062 00110010 Digit 2
3 51 33 063 00110011 Digit 3
4 52 34 064 00110100 Digit 4
5 53 35 065 00110101 Digit 5
6 54 36 066 00110110 Digit 6
7 55 37 067 00110111 Digit 7
8 56 38 070 00111000 Digit 8
9 57 39 071 00111001 Digit 9
58 3A 072 00111010 : Colon
; 59 3B 073 00111011 ; Semicolon
< 60 3C 074 00111100 &lt; Less-than
= 61 3D 075 00111101 &equals; Equals sign
> 62 3E 076 00111110 &gt; Greater-than
? 63 3F 077 00111111 &quest; Question mark
@ 64 40 100 01000000 &commat; At sign
A 65 41 101 01000001 Uppercase letter A
B 66 42 102 01000010 Uppercase letter B
C 67 43 103 01000011 Uppercase letter C
D 68 44 104 01000100 Uppercase letter D
E 69 45 105 01000101 Uppercase letter E
F 70 46 106 01000110 Uppercase letter F
G 71 47 107 01000111 Uppercase letter G
H 72 48 110 01001000 Uppercase letter H
I 73 49 111 01001001 Uppercase letter I
J 74 4A 112 01001010 Uppercase letter J
K 75 4B 113 01001011 Uppercase letter K
L 76 4C 114 01001100 Uppercase letter L
M 77 4D 115 01001101 Uppercase letter M
N 78 4E 116 01001110 Uppercase letter N
O 79 4F 117 01001111 Uppercase letter O
P 80 50 120 01010000 Uppercase letter P
Q 81 51 121 01010001 Uppercase letter Q
R 82 52 122 01010010 Uppercase letter R
S 83 53 123 01010011 Uppercase letter S
T 84 54 124 01010100 Uppercase letter T
U 85 55 125 01010101 Uppercase letter U
V 86 56 126 01010110 Uppercase letter V
W 87 57 127 01010111 Uppercase letter W
X 88 58 130 01011000 Uppercase letter X
Y 89 59 131 01011001 Uppercase letter Y
Z 90 5A 132 01011010 Uppercase letter Z
91 5B 133 01011011 &lbrack; Left square bracket
\ 92 5C 134 01011100 &bsol; Backslash
93 5D 135 01011101 &rsqb; Right square bracket
^ 94 5E 136 01011110 &Hat; Caret
_ 95 5F 137 01011111 &lowbar; Underscore
` 96 60 140 01100000 &grave; Grave accent
a 97 61 141 01100001 Lowercase letter a
b 98 62 142 01100010 Lowercase letter b
c 99 63 143 01100011 Lowercase letter c
d 100 64 144 01100100 Lowercase letter d
e 101 65 145 01100101 Lowercase letter e
f 102 66 146 01100110 Lowercase letter f
g 103 67 147 01100111 Lowercase letter g
h 104 68 150 01101000 Lowercase letter h
i 105 69 151 01101001 Lowercase letter i
j 106 6A 152 01101010 Lowercase letter j
k 107 6B 153 01101011 Lowercase letter k
l 108 6C 154 01101100 Lowercase letter l
m 109 6D 155 01101101 Lowercase letter m
n 110 6E 156 01101110 Lowercase letter n
o 111 6F 157 01101111 Lowercase letter o
p 112 70 160 01110000 Lowercase letter p
q 113 71 161 01110001 Lowercase letter q
r 114 72 162 01110010 Lowercase letter r
s 115 73 163 01110011 Lowercase letter s
t 116 74 164 01110100 Lowercase letter t
u 117 75 165 01110101 Lowercase letter u
v 118 76 166 01110110 Lowercase letter v
w 119 77 167 01110111 Lowercase letter w
x 120 78 170 01111000 Lowercase letter x
y 121 79 171 01111001 Lowercase letter y
z 122 7A 172 01111010 Lowercase letter z
{ 123 7B 173 01111011 &lbrace; Left curly brace
| 124 7C 174 01111100 &vert; Vertical bar
} 125 7D 175 01111101 &rcub; Right curly brace
~ 126 7E 176 01111110 Tilde

Структурные свойства таблицы

  • Коды символов цифр «0»-«9» в двоичной системе счисления начинаются с 00112, а заканчиваются двоичными значениями чисел. Например, 01012 — число 5, а 0011 01012 — символ «5». Зная об этом, можно преобразовать двоично-десятичные числа (BCD) в ASCII-строку с помощью простого добавления слева 00112 к каждому двоично-десятичному полубайту.
  • Буквы «A»-«Z» верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на принадлежность кода к диапазону значений. Буквы представляются своими порядковыми номерами в алфавите, записанными пятью цифрами в двоичной системе счисления, перед которыми стоит 0102 (для букв верхнего регистра) или 0112 (для букв нижнего регистра).
  • Положение заглавных латинских букв и цифр было выбрано из соображений совместимости с шестибитной кодировкой DEC SIXBIT, появившейся годом ранее.
  • Расположение части небуквенных знаков было обусловлено положением их на клавиатурах тех времён (например, Teletype Model 33), куда они перекочевали с механических пишущих машин, в частности «#$%_&'(). Однако на электромеханических пишущих машинах, в частности IBM Selectric расположение этих знаков было иным, что связано с наличием у некоторых из них механизма дозирования силы удара, а значит требовало расположения на одной клавише знаков, близких по оптической плотности. Окончательно отличное от таблицы ASCII положение этих знаков было закреплено в IBM PC.

Ссылки

Кодировки символов
Основы алфавит • текст (файл • данные) • набор символов • конверсия
Исторические кодировки Докомп.: семафорная (Макарова) • Морзе • Бодо • МТК-2
Комп.: 6-битная • УПП • RADIX-50 • EBCDIC (ДКОИ-8) • КОИ-7 • ISO 646
современное8-битноепредставление символы ASCII (управляющие • печатные) • не-ASCII (псевдографика)
8-битные код.стр. Кириллица: КОИ-8 • Основная кодировка • MacCyrillic
ISO 8859 1 (лат.) • • • • 5 (кир.) • • • • • • • • • • 15 (€) •
Windows • 1251 (кир.) • • • • • • • • WGL4
IBM & DOS • • • • 866 «альт.» • МИК
Многобайтные Традиционные DBCS (GB2312) • HTML
Unicode UTF-32 • UTF-16 • UTF-8 • список символов (кириллица)
Связанные темы интерфейс пользователя • раскладка клавиатуры • локаль • перевод строки • шрифт • транслит • нестандартные шрифты
Утилиты iconv • recode

Национальные варианты ASCII

Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения в ASCII национальных символов. Для этого предлагается заменять символы «@», «», «\», «», «^», «`», «{», «|», «}», «~». Также на месте знака решётки «#» может быть размещён символ фунта «£», а на месте символа доллара «$» — знак валюты «¤». Такая система хорошо подходит для европейских языков, так как в них используются символы латинского алфавита и лишь несколько дополнительных символов. Вариант ASCII, не содержащий национальных символов, называется «US-ASCII» или «international reference version».

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

  • В одной из таких модификаций — на месте строчных латинских букв размещались национальные символы (для русского и греческого — заглавные буквы).
  • В другой модификации — предусматривалось переключение между US-ASCII и национальным вариантом; переключение осуществлялось «на лету»: с помощью символов «SO» (англ. shift out) и «SI» (англ. shift in); в этом случае — в национальном варианте можно было полностью заменить латинские буквы на национальные символы. См. также: КОИ-7.

Впоследствии оказалось удобнее использовать 8-битовые кодировки (кодовые страницы), в которых нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII (до повсеместного внедрения Юникода) активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8, Windows-1251 и др.). Носители других языков с нелатинской письменностью тоже страдали, из-за наличия нескольких разных кодировок.

Первые 128 символов стандарта Юникод — совпадают с соответствующими символами US-ASCII.

Таблица ASCII
  .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2.     ! « # $ % & ( ) * + , .
3. ; < = > ?
4. @ A B C D E F G H I J K L M N O
5. P Q R S T U V W X Y Z \ ^ _
6. ` a b c d e f g h i j k l m n o
7. p q r s t u v w x y z { | } ~ DEL

В первой версии стандарта ASCII (1963 год) — в позициях 0x5e (94) и 0x5f (95) располагались символы «стрелка вверх» и «стрелка влево», соответственно. Стандарт ECMA-6 (1965 год) заменил их на знак вставки и символ подчёркивание «_», соответственно.

В Советском Союзе стандарт был утвержден в виде таблицы международной ссылочной версии кода КОИ-7 Н0 ГОСТ 27463-87 (СТ СЭВ 356-86) «Системы обработки информации. 7-битные кодированные наборы символов».

ASCII Device Control Characters

The ASCII control characters (range 00-31, plus 127) were designed to control hardware devices.

Control characters (except horizontal tab, line feed, and carriage return) have nothing to do inside an HTML document.

 Char Number Description
NUL 00 null character
SOH 01 start of header
STX 02 start of text
ETX 03 end of text
EOT 04 end of transmission
ENQ 05 enquiry
ACK 06 acknowledge
BEL 07 bell (ring)
BS 08 backspace
HT 09 horizontal tab
LF 10 line feed
VT 11 vertical tab
FF 12 form feed
CR 13 carriage return
SO 14 shift out
SI 15 shift in
DLE 16 data link escape
DC1 17 device control 1
DC2 18 device control 2
DC3 19 device control 3
DC4 20 device control 4
NAK 21 negative acknowledge
SYN 22 synchronize
ETB 23 end transmission block
CAN 24 cancel
EM 25 end of medium
SUB 26 substitute
ESC 27 escape
FS 28 file separator
GS 29 group separator
RS 30 record separator
US 31 unit separator
     
DEL 127 delete (rubout)

Представление ASCII в ЭВМ

На подавляющем большинстве современных компьютеров, минимально адресуемая единица памяти — байт (размером в 8 бит); поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.

На компьютерах IBM/360 однако (в случае использования ASCII) применялся другой метод: 6-й бит (если первым считать самый младший бит) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й. Получается такая таблица:

  .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
NUL SOM EOA EOM EQT WRU RU BELL BKSP HT LF VT FF CR SO SI
1. DC DC1 DC2 DC3 DC4 ERR SYNC LEM S S1 S2 S3 S4 S5 S6 S7
2.                                
3.                                
4. BLANK ! « # $ % & ( ) * + , .
5. 1 2 3 4 5 6 7 8 9 ; < = > ?
6.                                
7.                                
8.                                
9.                                
A. @ A B C D E F G H I J K L M N O
B. P Q R S T U V W X Y Z \
C.                                
D.                                
E.   a b c d e f g h i j k l m n o
F. p q r s t u v w x y z       ESC DEL

На компьютерах с минимально адресуемой единицей памяти в 36 бит — поначалу использовали 6-битные символы (1 слово = 6 символов). После перехода на ASCII на таких компьютерах в одном слове стали размещать либо 5 семибитовых символов (1 бит оставался лишним), либо 4 девятибитовых символа.

Коды ASCII используются в программировании как промежуточные кроссплатформенные коды нажатых клавиш (в противовес скан-кодам IBM PC и прочим внутренним кодам). Для раскладки клавиатуры QWERTY — таблица кодов выглядит так, как показано в следующей таблице.

Escape

27

F1

112

F2

113

F3

114

F4

115

F5

116

F6

117

F7

118

F8

119

F9

120

F10

121

F11

122

F12

123

Print Screen

Scroll Lock

145

Pause

19

`

192

1

49

2

50

3

51

4

52

5

53

6

54

7

55

8

56

9

57

48

189

=+

187

Back Space

8

Insert

45

Home

36

Page Up

33

Num Lock

144

/ доп.

111

* доп.

106

+ доп.

107

Tab

9

Q

81

W

87

E

69

R

82

T

84

Y

89

U

85

I

73

O

79

P

80

219

221

Delete

46

End

35

Page Down

34

7 доп.

103

8 доп.

104

9 доп.

105

Caps Lock

20

A

65

S

83

D

68

F

70

G

71

H

72

J

74

K

75

L

76

186

222

Enter

13

4 доп.

100

5 доп.

101

6 доп.

102

Enter доп.

13

Shift

16

Z

90

X

88

C

67

V

86

B

66

N

78

M

77

,<

188

.>

190

191

Shift

16

\|

220

Up

38

1 доп.

97

2 доп.

98

3 доп.

99

Ctrl

17

super

Alt

18

Space Bar

32

Alt

18

super

list

Ctrl

17

Left

37

Down

40

Right

39

Ins/0 доп.

45/96

Del/. доп.

46/110

Национальные варианты ASCII

Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения в ASCII национальных символов. Для этого предлагается заменять символы «@», «», «\», «», «^», «`», «{», «|», «}», «~». Также на месте знака решётки «#» может быть размещён символ фунта «£», а на месте символа доллара «$» — знак валюты «¤». Такая система хорошо подходит для европейских языков, так как в них используются символы латинского алфавита и лишь несколько дополнительных символов. Вариант ASCII, не содержащий национальных символов, называется «US-ASCII» или «international reference version».

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

  • В одной из таких модификаций — на месте строчных латинских букв размещались национальные символы (для русского и греческого — заглавные буквы).
  • В другой модификации — предусматривалось переключение между US-ASCII и национальным вариантом; переключение осуществлялось «на лету»: с помощью символов «SO» (англ. shift out) и «SI» (англ. shift in); в этом случае — в национальном варианте можно было полностью заменить латинские буквы на национальные символы. См. также: КОИ-7.

Впоследствии оказалось удобнее использовать 8-битовые кодировки (кодовые страницы), в которых нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII (до повсеместного внедрения Юникода) активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8, Windows-1251 и др.). Носители других языков с нелатинской письменностью тоже страдали из-за наличия нескольких разных кодировок.

Первые 128 символов стандарта Юникод совпадают с соответствующими символами US-ASCII.

Таблица ASCII
  .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2.     ! « # $ % & ( ) * + , .
3. ; < = > ?
4. @ A B C D E F G H I J K L M N O
5. P Q R S T U V W X Y Z \ ^ _
6. ` a b c d e f g h i j k l m n o
7. p q r s t u v w x y z { | } ~ DEL

В первой версии стандарта ASCII (1963 год) — в позициях 0x5e (94) и 0x5f (95) располагались символы «стрелка вверх» и «стрелка влево», соответственно. Стандарт ECMA-6 (1965 год) заменил их на знак вставки и символ подчёркивание «_», соответственно.

В Советском Союзе стандарт был утвержден в виде таблицы международной ссылочной версии кода КОИ-7 Н0 ГОСТ 27463-87 (СТ СЭВ 356-86) «Системы обработки информации. 7-битные кодированные наборы символов».

История

Изначально (1963 год) ASCII была разработана для кодирования символов, коды которых помещались в 7 бит (128 символов; 27=128), а старший бит №7 (нумерация с нуля) использовался для контроля ошибок, возникших при передаче данных. В первой версии кодировались только заглавные буквы. Полосы (группы по 16 символов) № 6 и 7 (нумерация начинается с 0) были зарезервированы для дальнейшего расширения. Велись споры, использовать ли эту область для строчных букв или управляющих символов.

В 1965 году была подготовлена новая редакция ASCII, которая так и не была опубликована. Она не использовалась нигде, кроме терминалов IBM 2260/2848. Следующая спецификация была опубликована в 1967 году, и все содержащиеся в ней символы в дальнейшем не меняли своего положения в таблице.

Со временем кодировка была расширена до 256 символов (28=256); коды первых 128 символов не изменились. ASCII стала восприниматься как половина 8-битной кодировки, а «расширенной ASCII» называли ASCII с задействованным 8-м битом (например, КОИ-8).

Таблица кода символов ASCII.

Первая половина для таблицы ASCII. (Именно первая половина, стала стандартом.)

Соблюдение лексикографического порядка, то есть, в таблице буквы (Строчные и прописные) указаны в строгом алфавитном порядке, а цифры по возрастанию, называют принципом последовального кодирования алфавита.

Для русского алфавита тоже соблюдают принцип последовательного кодирования.

Сейчас, в наше время используют целых пять систем кодировок русского алфавита(КОИ8-Р, Windows. MS-DOS, Macintosh и ISO). Из-за количества систем кодировок и отсутствия одного стандарта, очень часто возникают недоразумения с переносом русского текста в компьютерный его вид.

Одним из первых стандартов для кодирования русского алфавита на персональных компьютерах считают КОИ8(«Код обмена информацией, 8-битный»). Данная кодировка использовалась в середине семидесятых годов на серии компьютеров ЕС ЭВМ, а со средины восьмидесятых, её начинают использовать в первых переведенных на русский язык операционных системах UNIX.

С начала девяностых годов, так называемого, времени, когда господствовала операционная система MS DOS, появляется система кодирования CP866 («CP» означает «Code Page», «кодовая страница»).

Гигант компьютерных фирм APPLE, со своей инновационной системой, под упралением которой они и работали (Mac OS), начинают использовать собственную систему для кодирования алфавита МАС.

Международная организация стандартизации (International Standards Organization, ISO)назначает стандартом для русского языка еще одну систему для кодирования алфавита, которая называется ISO 8859-5.

А самая распространенная, в наши дни, система для кодирования алфавита, придумана в Microsoft Windows, и называется CP1251.

С второй половины девяностых годов, была решена проблема стандарта перевода текста в цифровой код для русского языка и не только, введением в стандарт системы, под названием Unicode. Она представлена шестнадцатиразрядной кодировкой, это означает, что на каждый символ отводится ровно по два байта оперативной памяти. Само собой, при такой кодировке, затраты памяти увеличены в два раза. Однако, такая кодовая система позволяет переводить в электронный код до 65536 символов.

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

Давайте с помощью таблицы ASCII посмотрим, как может выглядеть слово в памяти вашего компьютера.

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

Source code

dCode retains ownership of the online ‘ASCII Code’ tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for ASCII Code download for offline use on PC, tablet, iPhone or Android !

Национальные варианты ASCII

Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения в ASCII национальных символов. Для этого предлагается заменять символы «@», «», «\», «», «^», «`», «{», «|», «}», «~». Также на месте знака решётки «#» может быть размещён символ фунта «£», а на месте символа доллара «$» — знак валюты «¤». Такая система хорошо подходит для европейских языков, так как в них используются символы латинского алфавита и лишь несколько дополнительных символов. Вариант ASCII, не содержащий национальных символов, называется «US-ASCII» или «international reference version».

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

  • В одной из таких модификаций — на месте строчных латинских букв размещались национальные символы (для русского и греческого — заглавные буквы).
  • В другой модификации — предусматривалось переключение между US-ASCII и национальным вариантом; переключение осуществлялось «на лету»: с помощью символов «SO» (англ. shift out) и «SI» (англ. shift in); в этом случае — в национальном варианте можно было полностью заменить латинские буквы на национальные символы. См. также: КОИ-7.

Впоследствии оказалось удобнее использовать 8-битовые кодировки (кодовые страницы), в которых нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII (до повсеместного внедрения Юникода) активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8, Windows-1251 и др.). Носители других языков с нелатинской письменностью тоже страдали, из-за наличия нескольких разных кодировок.

Первые 128 символов стандарта Юникод — совпадают с соответствующими символами US-ASCII.

Таблица ASCII
  .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI
1. DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US
2.     ! « # $ % & ( ) * + , .
3. ; < = > ?
4. @ A B C D E F G H I J K L M N O
5. P Q R S T U V W X Y Z \ ^ _
6. ` a b c d e f g h i j k l m n o
7. p q r s t u v w x y z { | } ~ DEL

В первой версии стандарта ASCII (1963 год) — в позициях 0x5e (94) и 0x5f (95) располагались символы «стрелка вверх» и «стрелка влево», соответственно. Стандарт ECMA-6 (1965 год) заменил их на знак вставки и символ подчёркивание «_», соответственно.

В Советском Союзе стандарт был утвержден в виде таблицы международной ссылочной версии кода КОИ-7 Н0 ГОСТ 27463-87 (СТ СЭВ 356-86) «Системы обработки информации. 7-битные кодированные наборы символов».

Представление ASCII в ЭВМ

На подавляющем большинстве современных компьютеров, минимально адресуемая единица памяти — байт (размером в 8 бит); поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.

На компьютерах IBM/360 однако (в случае использования ASCII) применялся другой метод: 6-й бит (если первым считать самый младший бит) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й. Получается такая таблица:

  .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
NUL SOM EOA EOM EQT WRU RU BELL BKSP HT LF VT FF CR SO SI
1. DC DC1 DC2 DC3 DC4 ERR SYNC LEM S S1 S2 S3 S4 S5 S6 S7
2.                                
3.                                
4. BLANK ! « # $ % & ( ) * + , .
5. 1 2 3 4 5 6 7 8 9 ; < = > ?
6.                                
7.                                
8.                                
9.                                
A. @ A B C D E F G H I J K L M N O
B. P Q R S T U V W X Y Z \
C.                                
D.                                
E.   a b c d e f g h i j k l m n o
F. p q r s t u v w x y z       ESC DEL

На компьютерах с минимально адресуемой единицей памяти в 36 бит — поначалу использовали 6-битные символы (1 слово = 6 символов). После перехода на ASCII на таких компьютерах в одном слове стали размещать либо 5 семибитовых символов (1 бит оставался лишним), либо 4 девятибитовых символа.

Коды ASCII используются в программировании как промежуточные кроссплатформенные коды нажатых клавиш (в противовес скан-кодам IBM PC и прочим внутренним кодам). Для раскладки клавиатуры QWERTY — таблица кодов выглядит так, как показано в следующей таблице.

Escape

27

F1

112

F2

113

F3

114

F4

115

F5

116

F6

117

F7

118

F8

119

F9

120

F10

121

F11

122

F12

123

Print Screen

Scroll Lock

145

Pause

19

`

192

1

49

2

50

3

51

4

52

5

53

6

54

7

55

8

56

9

57

48

189

=+

187

Back Space

8

Insert

45

Home

36

Page Up

33

Num Lock

144

/ доп.

111

* доп.

106

+ доп.

107

Tab

9

Q

81

W

87

E

69

R

82

T

84

Y

89

U

85

I

73

O

79

P

80

219

221

Delete

46

End

35

Page Down

34

7 доп.

103

8 доп.

104

9 доп.

105

Caps Lock

20

A

65

S

83

D

68

F

70

G

71

H

72

J

74

K

75

L

76

186

222

Enter

13

4 доп.

100

5 доп.

101

6 доп.

102

Enter доп.

13

Shift

16

Z

90

X

88

C

67

V

86

B

66

N

78

M

77

,<

188

.>

190

191

Shift

16

\|

220

Up

38

1 доп.

97

2 доп.

98

3 доп.

99

Ctrl

17

win

Alt

18

Space Bar

32

Alt

18

win

list

Ctrl

17

Left

37

Down

40

Right

39

Ins/0 доп.

45/96

Del/. доп.

46/110


С этим читают