Запись текстов двоичным кодом (Запись букв двоичным кодом)

Все символы и буквы могут быть закодированы при помощи восьми двоичных бит. Наиболее распространенными таблицами представления букв в двоичном коде являются ASCII и ANSI, их можно использовать для записи текстов в микропроцессорах. В таблицах ASCII и ANSI первые 128 символов совпадают. В этой части таблицы содержатся коды цифр, знаков препинания, латинские буквы верхнего и нижнего регистров и управляющие символы. Национальные расширения символьных таблиц и символы псевдографики содержатся в последних 128 кодах этих таблиц, поэтому русские тексты в операционных системах DOS и WINDOWS не совпадают.

При первом знакомстве с компьютерами и микропроцессорами может возникнуть вопрос — "как преобразовать текст в двоичный код?" Однако это преобразование является наиболее простым действием! Для этого нужно воспользоваться любым текстовым редактором. В том числе подойдет и простейшая программа notepad, входящая в состав операционной системы Windows. Подобные же редакторы присутствуют во всех средах программирования для языков, таких как СИ, Паскаль или Ява. Следует отметить, что наиболее распространенный текстовый редактор Word для простого преобразования текста в двоичный код не подходит. Этот тестовый редактор вводит огромное количество дополнительной информации, такой как цвет букв, наклон, подчеркивание, язык, на котором написана конкретная фраза, шрифт.

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

Таблица 1 Таблица представления латинских букв в двоичном коде (ASCII)

Десятичный код Шестнадцатеричный код Отображаемый символ Значение
0 00 NUL
1 01 (слово управления дисплеем)
2 02 (Первое передаваемое слово)
3 03 ETX (Последнее слово передачи)
4 04 EOT (конец передачи)
5 05 ENQ (инициализация)
6 06 ACK (подтверждение приема)
7 07 BEL
8 08 BS
9 09 HT (горизонтальная табуляция
10 0A LF (перевод строки)
11 0B VT (вертикальная табуляция)
12 FF (следующая страница)
13 0D CR (возврат каретки)
14 0E SO (двойная ширина)
15 0F SI (уплотненная печать)
16 10 DLE
17 11 DC1
18 12 DC2 (отмена уплотненной печати)
19 13 DC3 (готовность)
20 14 DC4 (отмена двойной ширины)
21 15 § NAC (неподтверждение приема)
22 16 SYN
23 17 ETB
24 18 CAN
25 19 EM
26 1A SUB
27 1B ESC (начало управл. послед.)
28 1C FS
29 1D GS
30 1E RS
31 1F US
32 20   Пробел
33 21 ! Восклицательный знак
34 22 « Угловая скобка
35 23 # Знак номера
36 24 $ Знак денежной единицы (доллар)
37 25 % Знак процента
38 26 & Амперсанд
39 27 ' Апостроф
40 28 ( Открывающая скобка
41 29 ) Закрывающая скобка
42 2A * Звездочка
43 2B + Знак плюс
44 2C , Запятая
45 2D - Знак минус
46 2E . Точка
47 2F / Дробная черта
48 30 0 Цифра ноль
49 31 1 Цифра один
50 32 2 Цифра два
51 33 3 Цифра три
52 34 4 Цифра четыре
53 35 5 Цифра пять
54 36 6 Цифра шесть
55 37 7 Цифра семь
56 38 8 Цифра восемь
57 39 9 Цифра девять
58 3A : Двоеточие
59 3B ; Точка с запятой
60 3C < Знак меньше
61 3D = Знак равно
62 3E > Знак больше
63 3F ? Знак вопрос
64 40 @ Коммерческое эт
65 41 A Прописная латинская буква А
66 42 B Прописная латинская буква B
67 43 C Прописная латинская буква C
68 44 D Прописная латинская буква D
69 45 E Прописная латинская буква E
70 46 F Прописная латинская буква F
71 47 G Прописная латинская буква G
72 48 H Прописная латинская буква H
73 49 I Прописная латинская буква I
74 4A J Прописная латинская буква J
75 4B K Прописная латинская буква K
76 4C L Прописная латинская буква L
77 4D M Прописная латинская буква
78 4E N Прописная латинская буква N
79 4F O Прописная латинская буква O
80 50 P Прописная латинская буква P
81 51 Q Прописная латинская буква
82 52 R Прописная латинская буква R
83 53 S Прописная латинская буква S
84 54 T Прописная латинская буква T
85 55 U Прописная латинская буква U
86 56 V Прописная латинская буква V
87 57 W Прописная латинская буква W
88 58 X Прописная латинская буква X
89 59 Y Прописная латинская буква Y
90 5A Z Прописная латинская буква Z
91 5B [ Открывающая квадратная скобка
92 5C \ Обратная черта
93 5D ] Закрывающая квадратная скобка
94 5E ^ "Крышечка"
95 5 _ Символ подчеркивания
96 60 ` Апостроф
97 61 a Строчная латинская буква a
98 62 b Строчная латинская буква b
99 63 c Строчная латинская буква c
100 64 d Строчная латинская буква d
101 65 e Строчная латинская буква e
102 66 f Строчная латинская буква f
103 67 g Строчная латинская буква g
104 68 h Строчная латинская буква h
105 69 i Строчная латинская буква i
106 6A j Строчная латинская буква j
107 6B k Строчная латинская буква k
108 6C l Строчная латинская буква l
109 6D m Строчная латинская буква m
110 6E n Строчная латинская буква n
111 6F o Строчная латинская буква o
112 70 p Строчная латинская буква p
113 71 q Строчная латинская буква q
114 72 r Строчная латинская буква r
115 73 s Строчная латинская буква s
116 74 t Строчная латинская буква t
117 75 u Строчная латинская буква u
118 76 v Строчная латинская буква v
119 77 w Строчная латинская буква w
120 78 x Строчная латинская буква x
121 79 y Строчная латинская буква y
122 7A z Строчная латинская буква z
123 7B { Открывающая фигурная скобка
124 | Вертикальная черта
125 7D } Закрывающая фигурная скобка
126 7E ~ Тильда
127 7F  

В классическом варианте таблицы символов ASCII нет русских букв и она состоит из 7 бит. Однако в дальнейшем эта таблица была расширена до 8 бит и в старших 128 строках появились русские буквы в двоичном коде и символы псевдографики. В общем случае во второй части размещены национальные алфавиты разных стран и русские буквы там просто один из возможных наборов (855) там может быть французская (863), немецкая (1141) или греческая (737) таблица. В таблице 2 приведен пример представления русских букв в двоичном коде.

Таблица 2. Таблица представления русских букв в двоичном коде (ASCII)

Десятичный код Шестнадцатеричный код Отображаемый символ Значение
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    

При записи текстов кроме двоичных кодов, непосредственно отображающих буквы, применяются коды, обозначающие переход на новую строку и возврат курсора (возврат каретки) на нулевую позицию строки. Эти символы обычно применяются вместе. Их двоичные коды соответствуют десятичным числам — 10 (0A) и 13 (0D). В качестве примера ниже приведен участок текста данной страницы (дамп памяти). На этом участке записан ее первый абзац. Для отображения информации в дампе памяти применен следующий формат:

  • в первой колонке записан двоичный адрес первого байта строки
  • в следующи шестнадцати колонках записаны байты, содержащиеся в текстовом файле. Для более удобного определения номера байта после восьмой колонки проведена вертикальная линия. Байты, для краткости записи, представлены в шестнадцатеричном коде.
  • в последней колонке эти же байты представлены в виде отображаемых буквенных символов
00000000:    82 E1 A5 20 E1 A8 AC A2 ¦ AE AB EB 20 A8 20 A1 E3      Все символы и бу
00000010:    AA A2 EB 20 AC AE A3 E3 ¦ E2 20 A1 EB E2 EC 20 A7      квы могут быть з
00000020:    A0 AA AE A4 A8 E0 AE A2 ¦ A0 AD EB 20 AF E0 A8 20      акодированы при
00000030:    AF AE AC AE E9 A8 20 A2 ¦ AE E1 EC AC A8 20 A4 A2      помощи восьми дв
00000040:    AE A8 E7 AD EB E5 20 E1 ¦ A8 AC A2 AE AB AE A2 2E      оичных символов.
00000050:    0D 0A 8D A0 A8 A1 AE AB ¦ A5 A5 20 E0 A0 E1 AF E0      ♪◙Наиболее распр
00000060:    AE E1 E2 E0 A0 AD A5 AD ¦ AD EB AC A8 20 E2 A0 A1      остраненными таб
00000070:    AB A8 E6 A0 AC A8 20 EF ¦ A2 AB EF EE E2 E1 EF 20      лицами являются
00000080:    E2 A0 A1 AB A8 E6 EB 20 ¦ 41 53 43 49 49 20 E1 20      таблицы ASCII с
00000090:    AD A0 E6 A8 AE AD A0 AB ¦ EC AD EB AC A8 0D 0A E0      национальными♪◙р
000000A0:    A0 E1 E8 A8 E0 A5 AD A8 ¦ EF AC A8 2C 20 AF E0 A8      асширениями, при
000000B0:    AC A5 AD EF EE E9 A8 A5 ¦ E1 EF 20 A2 20 44 4F 53      меняющиеся в DOS
000000C0:    20 28 A8 20 AA AE E2 AE ¦ E0 EB A5 20 AC AE A6 AD      (и которые можн
000000D0:    AE 20 A8 E1 AF AE AB EC ¦ A7 AE A2 A0 E2 EC 20 A4      о использовать д
000000E0:    AB EF 20 A7 A0 AF A8 E1 ¦ A8 0D 0A E2 A5 AA E1 E2      ля записи♪◙текст
000000F0:    AE A2 20 A2 20 AC A8 AA ¦ E0 AE AF E0 AE E6 A5 E1      ов в микропроцес
00000100:    E1 AE E0 A0 E5 29 2C 20 ¦ A8 20 E2 A0 A1 AB A8 E6      сорах),и таблиц
00000110:    EB 20 41 4E 53 49 2C 20 ¦ AF E0 A8 AC A5 AD EF EE      ы ANSI, применяю
00000120:    E9 A8 A5 E1 EF 20 A2 20 ¦ 57 49 4E 44 4F 57 53 2E      щиеся в WINDOWS.
00000130:    20 82 20 E2 A0 A1 AB A8 ¦ E6 A0 E5 0D 0A 41 53 43      В таблицах♪◙ASC
00000140:    49 49 20 A8 20 41 4E 53 ¦ 49 20 AF A5 E0 A2 EB A5      II и ANSI первые
00000150:    20 31 32 38 20 E1 A8 AC ¦ A2 AE AB AE A2 20 E1 AE      128 символов со
00000160:    A2 AF A0 A4 A0 EE E2 2E ¦ 20 82 20 ED E2 AE A9 20      впадают. В этой
00000170:    E7 A0 E1 E2 A8 20 E2 A0 ¦ A1 AB A8 E6 EB 20 E1 AE      части таблицы со
00000180:    A4 A5 E0 A6 A0 E2 E1 EF ¦ 0D 0A E1 A8 AC A2 AE AB      держатся♪◙символ
00000190:    EB 20 E6 A8 E4 E0 2C 20 ¦ A7 AD A0 AA AE A2 20 AF      ы цифр, знаков п
000001A0:    E0 A5 AF A8 AD A0 AD A8 ¦ EF 2C 20 AB A0 E2 A8 AD      репинания, латин
000001B0:    E1 AA A8 A5 20 A1 E3 AA ¦ A2 EB 20 A2 A5 E0 E5 AD      ские буквы верхн
000001C0:    A5 A3 AE 20 A8 20 AD A8 ¦ A6 AD A5 A3 AE 20 E0 A5      его инижнего ре
000001D0:    A3 A8 E1 E2 E0 AE A2 20 ¦ A8 0D 0A E3 AF E0 A0 A2      гистров и♪◙управ
000001E0:    AB EF EE E9 A8 A5 20 E1 ¦ A8 AC A2 AE AB EB 2E 20      ляющие символы.
000001F0:    8D A0 E6 A8 AE AD A0 AB ¦ EC AD EB A5 20 E0 A0 E1      Национальные рас
00000200:    E8 A8 E0 A5 AD A8 EF 20 ¦ E1 A8 AC A2 AE AB EC AD      ширения символьн
00000210:    EB E5 20 E2 A0 A1 AB A8 ¦ E6 20 A8 20 E1 A8 AC A2      ыхтаблиц и симв
00000220:    AE AB EB 0D 0A AF E1 A5 ¦ A2 A4 AE A3 E0 A0 E4 A8      олы♪◙псевдографи
00000230:    AA A8 20 E1 AE A4 A5 E0 ¦ A6 A0 E2 E1 EF 20 A2 20      ки содержатся в
00000240:    AF AE E1 AB A5 A4 AD A8 ¦ E5 20 31 32 38 20 AA AE      последних 128 ко
00000250:    A4 A0 E5 20 ED E2 A8 E5 ¦ 20 E2 A0 A1 AB A8 E6 2C      дах этих таблиц,
00000260:    20 AF AE ED E2 AE AC E3 ¦ 20 E0 E3 E1 E1 AA A8 A5      поэтому русские
00000270:    0D 0A E2 A5 AA E1 E2 EB ¦ 20 A2 20 AE AF A5 E0 A0      ♪◙тексты в опера
00000280:    E6 A8 AE AD AD EB E5 20 ¦ E1 A8 E1 E2 A5 AC A0 E5      ционных системах
00000290:    20 44 4F 53 20 A8 20 57 ¦ 49 4E 44 4F 57 53 20 AD      DOS и WINDOWS н
000002A0:    A5 20 E1 AE A2 AF A0 A4 ¦ A0 EE E2 2E 0D 0A            е совпадают.♪◙

В приведенном примере видно, что первая строка текста занимает 80 байт. Первый байт 82 соответствует букве 'В'. Второй байт E1 соответствует букве 'с'. Третий байт A5 соответствует букве 'е'. Следующий байт 20 отображает пустой промежуток между словами (пробел) ' '. 81 и 82 байты содержат символы возврата каретки и перевода строки 0D 0A. Эти символы мы находим по двоичному адресу 00000050: Следующая строка исходного текста не кратна 16 (ее длина равна 76 буквам), поэтому для того, чтобы найти ее конец потребуется сначала найти строку 000000E0: и от нее отсчитать девять колонок. Там снова записаны байты возврата каретки и перевода строки 0D 0A. Остальной текст анализируется точно таким же образом.

Дата последнего обновления файла 04.12.2018


Понравился материал? Поделись с друзьями!


Литература:

  1. Р. Джордейн Справочник программиста персональных компьютеров IBM PC 1992
  2. Михаил Гук Аппаратные средства IBM PC 1998
  3. ru.wikibooks.org

Вместе со статьей "Запись текстов двоичным кодом" читают:

Целочисленные двоичные коды Представление двоичных чисел в памяти компьютера или микроконтроллера
https://digteh.ru/proc/IntCod.php

Двоично-десятичный код Иногда бывает удобно хранить числа в памяти процессора в десятичном виде
https://digteh.ru/proc/DecCod.php

Представление чисел в двоичном коде с плавающей запятой Стандартные форматы чисел с плавающей запятой для компьютеров и микроконтроллеров
https://digteh.ru/proc/float/

Системы счисления В настоящее время и в технике и в быту широко используются как позиционные, так и непозиционные системы счисления.
https://digteh.ru/digital/SysSchis.php


Автор Микушин А. В. All rights reserved. 2001 ... 2023

Предыдущие версии сайта:
http://neic.nsk.su/~mavr
http://digital.sibsutis.ru/

Поиск по сайту сервисом Яндекс
Поиск по сайту сервисом ГУГЛ
Об авторе:
к.т.н., доц., Александр Владимирович Микушин

Кандидат технических наук, доцент кафедры САПР СибГУТИ. Выпускник факультета радиосвязи и радиовещания (1982) Новосибирского электротехнического института связи (НЭИС).

А.В.Микушин длительное время проработал ведущим инженером в научно исследовательском секторе НЭИС, конструкторско технологическом центре "Сигнал", Научно производственной фирме "Булат". В процессе этой деятельности он внёс вклад в разработку систем радионавигации, радиосвязи и транкинговой связи.

Научные исследования внедрены в аппаратуре радинавигационной системы Loran-C, комплексов мобильной и транкинговой связи "Сигнал-201", авиационной системы передачи данных "Орлан-СТД", отечественном развитии системы SmarTrunkII и радиостанций специального назначения.

А.В.Микушин является автором 130 научных и научно-методических работ, в том числе 21 монография и 26 учебников и учебных пособий.

Top.Mail.Ru

Яндекс.Метрика