Уроки 10 — 12представление текста, изображения и звука в компьютере (§ 6)

Префиксный код[править]

Определение:
Префиксный код (англ. prefix code) — код, в котором никакое кодовое слово не является префиксом какого-то другого кодового слова.

Предпочтение префиксным кодам отдается из-за того, что они упрощают декодирование. Поскольку никакое кодовое слово не выступает в роли префикса другого, кодовое слово, с которого начинается файл, определяется однозначно, как и все последующие кодовые слова.

Закодируем строку  :

Такой код можно однозначно разбить на слова:

Преимущества префиксных кодовправить

  • Однозначно декодируемый и разделимый
  • Удается получить более короткие коды, чем с помощью кода фиксированной длины.
  • Возможности декодировки сообщения, не получая его целиком, а по мере его поступления.

Недостатки префиксных кодовправить

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

Пример неудачного декодированияправить

Предположим, что последовательность из примера передалась неверно и стала:

Разобьем ее согласно словарю:

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

Не префиксный однозначно декодируемый кодправить

Как уже было сказано, префиксный код всегда однозначно декодируем. Обратное в общем случае неверно:

Закодируем , получим кодовую строку:

Мы можем ее однозначно декодировать, так как знаем, что слева от двойки и справа от тройки всегда стоит единица.

После декодирования получаем:

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

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

Текстовое значение

Кодирование и обработка текстовой информации Уже с 60-х годов прошлого столетия, компьютеры всё больше стали использовать для обработки текстовой информации. Для кодирования текстовой информации в компьютере применяется двоичное кодирование, т.е. представление текста в виде последовательности 0 и 1. Чтобы выразить текст числом, каждая буква сопоставляется с числовым значением. Смысл кодирования: одному символу принадлежит код в пределах 0−255 либо двоичный код от 00000000 до 11111111.

В мировой практике для кодирования текста при помощи байтов используются разные стандарты. Самым распространенным, но не единственным видом кодирования является код ASCII. В соответствии с этим стандартом, знаки в пределах 0−32 соответствуют операциям, а 33−127 — символам из латинского алфавита, знакам препинания и арифметики. Для национальных кодировок применяются значения 128−255. В разных национальных кодировках одному и тому же коду соответствуют различные символы. К примеру, существует 5 кодировочных таблиц для русских букв (Windows, MS-DOS, Mac, ISO, КОИ – 8). Поэтому тексты созданные в одной кодировке не будут правильно отображаться в другой.


Таблица стандартной и альтернативной частей кодов ASCII

В настоящее время для кодирования кириллицы наибольшее распространение получила кодовая таблица СР1251, которая используется в операционных системах семейства Windows фирмы Microsoft. Во всех современных кодовых таблицах, кроме таблицы стандарта Unicode, для кодирования одного символа отводится 8 двоичных разрядов (8 бит).

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

ИНФОРМАТИКА 10 класс: Кодирование текстовой информацииИНФОРМАТИКА 10 класс: Кодирование текстовой информации

ИНФОРМАТИКА 10 класс: Кодирование текстовой информацииИНФОРМАТИКА 10 класс: Кодирование текстовой информации

Дополнительная информация:

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

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

UTF-8

Впервые кодировка UTF-8 была официально представлена на конференции USENIX в Сан Диего в январе 1993. От других мультибайтных кодировок ее отличала полная совместимость с ASCII: все символы ASCII в UTF-8 кодируются 7 битами. Каждый символ кодировки, отличный от ASCII, состоит из ведущего байта, указывающего длину последовательности, и одного или нескольких продолжающих байт. Такой принцип позволяет определить длину последовательности только по первому байту. Коды символов ASCII, ведущих и продолжающих байт не пересекаются, что позволяет легко найти начало последовательности простым откатом назад максимум на пять байт.

В ноябре 2003 года стандартом RFC-3629 максимальная длина последовательности UTF-8 была ограничена четырьмя байтами, однако потенциально UTF-8 позволяет использовать последовательности вплоть до шести байт.

Принцип кодирования

У всех однобайтных символов старший бит кода установлен в и полностью совпадает с кодом символа в ASCII:

У всех многобайтных последовательностей ведущий байт начинается с двух и более единиц в старших битах. Количество единиц ведущего байта соответствует длине мультибайтной последовательности. Все продолжающие байты начинаются с в двух старших битах. Все неиспользуемые схемой кодирования биты мультибайтных последовательностей используются для кодирования символов:

Такой подход создает несколько символьных диапазонов разной величины. Первый диапазон использует 7 бит и кодирует до 128 символов. Второй диапазон использует 11 бит и кодирует до 2 048 символов. Третий и четвертый диапазоны используют 16 бит и 21 бит соответственно и позволяют кодировать до 65 536 и 2 097 152 соответственно. В сумме все четыре диапазона значений позволяют кодировать до 2 164 864 символов.

Кодировка UTF-8 является универсальной и имеет внушительный резерв на будущее. Это делает ее наиболее удобной кодировкой для использования в интернете.

1251 – кодовая страница Windows

128 Ђ 144 Ђ 160 176 ° 192 А 208 Р 224 а 240 р
129 Ѓ 145 ‘ 161 Ў 177 ± 193 Б 209 С 225 б 241 с
130 ‚ 146 ’ 162 ў 178 I 194 В 210 Т 226 в 242 т
131 ѓ 147 “ 163 J 179 i 195 Г 211 У 227 г 243 у
132 „ 148 ” 164 ¤ 180 ґ 196 Д 212 Ф 228 д 244 ф
133 … 149 • 165 Ґ 181 μ 197 Е 213 Х 229 е 245 х
134 † 150 – 166 ¦ 182 ¶ 198 Ж 214 Ц 230 ж 246 ц
135 ‡ 151 — 167 § 183 · 199 З 215 Ч 231 з 247 ч
136 € 152 □ 168 Ё 184 ё 200 И 216 Ш 232 и 248 ш
137 ‰ 153 169 185 № 201 Й 217 Щ 233 й 249 щ
138 Љ 154 љ 170 Є 186 є 202 К 218 Ъ 234 к 250 ъ
139 171 « 187 » 203 Л 219 Ы 235 л 251 ы
140 Њ 156 њ 172 ¬ 188 j 204 М 220 Ь 236 м 252 ь
141 Ќ 157 ќ 173 189 S 205 Н 221 Э 237 н 253 э
142 Ћ 158 ћ 174 190 s 206 О 222 Ю 238 о 254 ю
143 Џ 159 џ 175 Ï 191 ї 207 П 223 Я 239 п 255 я

Таблица ASCII как использовать расширенные символы

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

Не для кого не секрет, что все вводимые буквы и цифры — это символы. Но символы можно разделить на два вида — простые и специфичные (расширенные). Простые — это, как я уже сказал, буквы, цифры, всякие там знаки препинания, собачки (@) и тд и тп, а специфичные — это что-то вроде û ~ Ç ╟↓ ∟ П ┬ и тд и тп.

Как Вы понимаете, использование специфичных символов значительно усложняет процесс взлома как методом подбора, так и методом использования кейлогеров (большинство из них не настроены на обработку и запись расширенных символов).

Все это чудесно, но Вы не знаете кое о чем, а именно о том, что помимо разных символов есть разные способы их ввода.

Кодировки стандарта ASCII[править]

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

бит:

ASCII7 — первая кодировка, пригодная для работы с текстом. Помимо маленьких букв английского алфавита и служебных символов, содержит большие буквы английского языка, цифры, знаки препинания и другие символы.

Кодировки стандарта ASCII ( бит):

  • ASCII — первая кодировка, в которой стало возможно использовать символы национальных алфавитов.
  • КОИ8-R — первая русская кодировка. Символы кириллицы расположены не в алфавитном порядке. Их разместили в верхнюю половину таблицы так, чтобы позиции кириллических символов соответствовали их фонетическим аналогам в английском алфавите. Это значит, что даже при потере старшего бита каждого символа, например, при проходе через устаревший семибитный модем, текст остается «читаемым».
  • CP866 — русская кодировка, использовавшаяся на компьютерах IBM в системе DOS.
  • Windows-1251 — русская кодировка, использовавшаяся в русскоязычных версиях операционной системы Windows в начале 90-х годов. Кириллические символы идут в алфавитном порядке. Содержит все символы, встречающиеся в типографике обычного текста (кроме знака ударения).

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

  • Цифры 0-9 представляются своими двоичными значениями (например, ), перед которыми стоит . Таким образом, двоично-десятичные числа (BCD) превращаются в ASCII-строку с помощью простого добавления слева к каждому двоично-десятичному полубайту.
  • Буквы A-Z верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на диапазон. Буквы представляются своими порядковыми номерами в алфавите, записанными в двоичной системе счисления, перед которыми стоит (для букв верхнего регистра) или (для букв нижнего регистра).
  1 2 3 4 5 6 7 8 9 A B C D E F
NUL SOH STX ETX EOT ENQ ACK BEL BS TAB 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 1 2 3 4 5 6 7 8 9  ; < = >  ?
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

ISO/IEC 8859

Ранние кодировки были ограничены 7 битами из-за особенностей некоторых протоколов передачи данных. Однако со временем эти ограничения свою актуальность потеряли, в то время как необходимость в дополнительных символах для языков, использующих латинский алфавит, только росла. Поэтому в середине 80-х началась работа над группой 8-битных кодировок, получившей название ISO/IEC 8859. Все кодировки этой группы были основаны на ASCII. Помимо расширения диапазона доступных символов за счет восьмого бита, на печатные символы была заменена часть устаревших к тому моменту непечатных управляющих символов.

Здесь стоит отметить две кодировки из группы. Первая — ISO-8859-1 — была опубликована в 1987 году. Она включала в себя так называемый «Латинский алфавит номер 1» (сокращенно Latin-1), состоящий из 191 символа латинского письма. Этот набор символов используется по всей Северной и Южной Америке, в Западной Европе, Океании и на большей части Африки. Кодировка ISO-8859-1 стала основой для наиболее популярных 8-битных кодировок.

В 1988 году была опубликована ISO-8859-5. Она была создана для работы с кириллическими языками. Включенные в эту кодировку символы обеспечивали полную поддержку русского, белорусского, болгарского, сербского и македонского языков. А вот для полной поддержки украинского языка ей не хватало буквы «ґ». Особого распространения эта кодировка не получила, но интересен сам факт разработки кириллической кодировки в рамках группы кодировок ISO/IEC.

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

Dec Hex Символ   Dec Hex Символ
000 00 спец. NOP   128 80 Ђ
001 01 спец. SOH   129 81 Ѓ
002 02 спец. STX   130 82
003 03 спец. ETX   131 83 ѓ
004 04 спец. EOT   132 84
005 05 спец. ENQ   133 85
006 06 спец. ACK   134 86
007 07 спец. BEL   135 87
008 08 спец. BS   136 88
009 09 спец. TAB   137 89
010 0A спец. LF   138 8A Љ
011 0B спец. VT   139 8B ‹ ‹
012 0C спец. FF   140 8C Њ
013 0D спец. CR   141 8D Ќ
014 0E спец. SO   142 8E Ћ
015 0F спец. SI   143 8F Џ
016 10 спец. DLE   144 90 ђ
017 11 спец. DC1   145 91
018 12 спец. DC2   146 92
019 13 спец. DC3   147 93
020 14 спец. DC4   148 94
021 15 спец. NAK   149 95
022 16 спец. SYN   150 96
023 17 спец. ETB   151 97
024 18 спец. CAN   152 98
025 19 спец. EM   153 99
026 1A спец. SUB   154 9A љ
027 1B спец. ESC   155 9B
028 1C спец. FS   156 9C њ
029 1D спец. GS   157 9D ќ
030 1E спец. RS   158 9E ћ
031 1F спец. US   159 9F џ
032 20 сцеп. SP (Пробел)   160 A0
033 21 !   161 A1 Ў
034 22 «   162 A2 ў
035 23 #   163 A3 Ћ
036 24 $   164 A4 ¤
037 25 %   165 A5 Ґ
038 26 &   166 A6 ¦
039 27   167 A7 §
040 28 (   168 A8 Ё
041 29 )   169 A9
042 2A *   170 AA Є
043 2B +   171 AB
044 2C ,   172 AC ¬
045 2D   173 AD ­
046 2E .   174 AE
047 2F   175 AF Ї
048 30   176 B0 °
049 31 1   177 B1 ±
050 32 2   178 B2 І
051 33 3   179 B3 і
052 34 4   180 B4 ґ
053 35 5   181 B5 µ
054 36 6   182 B6
055 37 7   183 B7 ·
056 38 8   184 B8 ё
057 39 9   185 B9
058 3A   186 BA є
059 3B ;   187 BB
060 3C <   188 BC ј
061 3D =   189 BD Ѕ
062 3E >   190 BE ѕ
063 3F ?   191 BF ї
064 40 @   192 C0 А
065 41 A   193 C1 Б
066 42 B   194 C2 В
067 43 C   195 C3 Г
068 44 D   196 C4 Д
069 45 E   197 C5 Е
070 46 F   198 C6 Ж
071 47 G   199 C7 З
072 48 H   200 C8 И
073 49 I   201 C9 Й
074 4A J   202 CA К
075 4B K   203 CB Л
076 4C L   204 CC М
077 4D M   205 CD Н
078 4E N   206 CE О
079 4F O   207 CF П
080 50 P   208 D0 Р
081 51 Q   209 D1 С
082 52 R   210 D2 Т
083 53 S   211 D3 У
084 54 T   212 D4 Ф
085 55 U   213 D5 Х
086 56 V   214 D6 Ц
087 57 W   215 D7 Ч
088 58 X   216 D8 Ш
089 59 Y   217 D9 Щ
090 5A Z   218 DA Ъ
091 5B   219 DB Ы
092 5C \   220 DC Ь
093 5D   221 DD Э
094 5E ^   222 DE Ю
095 5F _   223 DF Я
096 60 `   224 E0 а
097 61 a   225 E1 б
098 62 b   226 E2 в
099 63 c   227 E3 г
100 64 d   228 E4 д
101 65 e   229 E5 е
102 66 f   230 E6 ж
103 67 g   231 E7 з
104 68 h   232 E8 и
105 69 i   233 E9 й
106 6A j   234 EA к
107 6B k   235 EB л
108 6C l   236 EC м
109 6D m   237 ED н
110 6E n   238 EE о
111 6F o   239 EF п
112 70 p   240 F0 р
113 71 q   241 F1 с
114 72 r   242 F2 т
115 73 s   243 F3 у
116 74 t   244 F4 ф
117 75 u   245 F5 х
118 76 v   246 F6 ц
119 77 w   247 F7 ч
120 78 x   248 F8 ш
121 79 y   249 F9 щ
122 7A z   250 FA ъ
123 7B {   251 FB ы
124 7C |   252 FC ь
125 7D }   253 FD э
126 7E ~   254 FE ю
127 7F Спец. DEL   255 FF я

ASCII таблица кодов символов Windows. Описание специальных (управляющих) символов

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

Код Описание
NUL, 00 Null, пустой
SOH, 01 Start Of Heading, начало заголовка
STX, 02 Start of TeXt, начало текста.
ETX, 03 End of TeXt, конец текста
EOT, 04 End of Transmission, конец передачи
ENQ, 05 Enquire. Прошу подтверждения
ACK, 06 Acknowledgement. Подтверждаю
BEL, 07 Bell, звонок
BS, 08 Backspace, возврат на один символ назад
TAB, 09 Tab, горизонтальная табуляция
LF, 0A Line Feed, перевод строки.
Сейчас в большинстве языков программирования обозначается как \n
VT, 0B Vertical Tab, вертикальная табуляция.
FF, 0C Form Feed, прогон страницы, новая страница
CR, 0D Carriage Return, возврат каретки.
Сейчас в большинстве языков программирования обозначается как \r
SO, 0E Shift Out, изменить цвет красящей ленты в печатающем устройстве
SI, 0F Shift In, вернуть цвет красящей ленты в печатающем устройстве обратно
DLE, 10 Data Link Escape, переключение канала на передачу данных
DC1, 11 DC2, 12DC3, 13DC4, 14 Device Control, символы управления устройствами
NAK, 15 Negative Acknowledgment, не подтверждаю.
SYN, 16 Synchronization. Символ синхронизации
ETB, 17 End of Text Block, конец текстового блока
CAN, 18 Cancel, отмена переданного ранее
EM, 19 End of Medium, конец носителя данных
SUB, 1A Substitute, подставить.
Ставится на месте символа, значение которого было потеряно или испорчено при передаче
ESC, 1B Escape Управляющая последовательность
FS, 1C File Separator, разделитель файлов
GS, 1D Group Separator, разделитель групп
RS, 1E Record Separator, разделитель записей
US, 1F Unit Separator, разделитель юнитов
DEL, 7F Delete, стереть последний символ.
 

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

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

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

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

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

  • a
  • → a

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

Богатство разнообразия кодовых таблиц

На данный момент существует довольно большое количество кодировок и кодовых таблиц, используемых разными специалистами: это и ASCII, разработанная в 1963 году в Америке, и Windows-1251, совсем недавно еще бывшая популярной благодаря Microsoft, KOI8-R и Guobiao — и многие, многие другие, причем процесс их появления и отмирания происходит и по сей день.

Среди этого огромного списка совершенно особо держится так называемая кодировка ANSI.

Дело в том, что в свое время компания Microsoft создала целый набор кодовых страниц:

Windows — 874 Тайский
Windows-1250 Центральноевропейский
Windows-1251 Кириллический (все символы русского языка + символы близких языков)
Windows-1252 Западноевропейский
Windows-1253 Греческий
Windows-1254 Турецкий
Windows-1255 Еврейский
Windows-1256 Арабский
Windows-1257 Балтийский
Windows-1258 Вьетнамский

Все они получили общее название таблицы кодировки ANSI, или кодовой страницы ANSI.

Интересный факт: одной из первых кодовых таблиц стала ASCII, в 1963 году созданная American National Standards Institute (Американским национальным институтом стандартов), сокращенно называвшимся именно ANSI.

Помимо всего прочего, эта кодировка содержит и непечатные символы, так называемые «Управляющие последовательности», или ESC, уникальные для всех таблиц символов, зачастую несовместимые между собой. При умелом использовании, однако, они позволяли скрывать и восстанавливать курсор, переводить его с одного положения в тексте на другое, устанавливать табуляцию, стирать часть окна терминала, в котором велась работа, изменять форматирование текста на экране и менять цвет (или даже рисовать и подавать звуковые сигналы!). В 1976 году, кстати, это было довольно неплохим подспорьем для программистов. Кстати, терминал — это устройство, требующееся для ввода и вывода информации. В те далекие времена он представлял собой монитор и клавиатуру, подсоединенные к ЭВМ (электронной вычислительной машине).

1251 – кодовая страница Windows

128 Ђ 144 Ђ 160 176 ° 192 А 208 Р 224 а 240 р
129 Ѓ 145 ‘ 161 Ў 177 ± 193 Б 209 С 225 б 241 с
130 ‚ 146 ’ 162 ў 178 I 194 В 210 Т 226 в 242 т
131 ѓ 147 “ 163 J 179 i 195 Г 211 У 227 г 243 у
132 „ 148 ” 164 ¤ 180 ґ 196 Д 212 Ф 228 д 244 ф
133 … 149 • 165 Ґ 181 μ 197 Е 213 Х 229 е 245 х
134 † 150 – 166 ¦ 182 ¶ 198 Ж 214 Ц 230 ж 246 ц
135 ‡ 151 — 167 § 183 · 199 З 215 Ч 231 з 247 ч
136 € 152 □ 168 Ё 184 ё 200 И 216 Ш 232 и 248 ш
137 ‰ 153 169 185 № 201 Й 217 Щ 233 й 249 щ
138 Љ 154 љ 170 Є 186 є 202 К 218 Ъ 234 к 250 ъ
139 < 155 > 171 « 187 » 203 Л 219 Ы 235 л 251 ы
140 Њ 156 њ 172 ¬ 188 j 204 М 220 Ь 236 м 252 ь
141 Ќ 157 ќ 173 189 S 205 Н 221 Э 237 н 253 э
142 Ћ 158 ћ 174 190 s 206 О 222 Ю 238 о 254 ю
143 Џ 159 џ 175 Ï 191 ї 207 П 223 Я 239 п 255 я

866 – кодовая страница DOS

128 А 144 Р 160 а 176 ░ 192 └ 208 ╨ 224 р 240 ≡Ё
129 Б 145 С 161 б 177 ▒ 193 ┴ 209 ╤ 225 с 241 ±ё
130 В 146 Т 162 в 178 ▓ 194 ┬ 210 ╥ 226 т 242 ≥
131 Г 147 У 163 г 179 │ 195 ├ 211 ╙ 227 у 243 ≤
132 Д 148 Ф 164 д 180 ┤ 196 ─ 212 ╘ 228 ф 244 ⌠
133 Е 149 Х 165 е 181 ╡ 197 ┼ 213 ╒ 229 х 245 ⌡
134 Ж 150 Ц 166 ж 182 ╢ 198 ╞ 214 ╓ 230 ц 246 ¸
135 З 151 Ч 167 з 183 ╖ 199 ╟ 215 ╫ 231 ч 247 »
136 И 152 Ш 168 и 184 ╕ 200 ╚ 216 ╪ 232 ш 248 °
137 Й 153 Щ 169 й 185 ╣ 201 ╔ 217 ┘ 233 щ 249 ·
138 К 154 Ъ 170 к 186 ║ 202 ╩ 218 ┌ 234 ъ 250 ∙
139 Л 155 Ы 171 л 187 ╗ 203 ╦ 219 █ 235 ы 251 √
140 М 156 Ь 172 м 188 ╝ 204 ╠ 220 ▄ 236 ь 252 ⁿ
141 Н 157 Э 173 н 189 ╜ 205 ═ 221 ▌ 237 э 253 ²
142 О 158 Ю 174 о 190 ╛ 206 ╬ 222 ▐ 238 ю 254 ■
143 П 159 Я 175 п 191 ┐ 207 ╧ 223 ▀ 239 я 255

Русские названия основных спецсимволов:

Символ Название
` гравис, кавычка, обратный машинописный апостроф
` гравис, кавычка, обратный машинописный апостроф
~ тильда
! восклицательный знак
@ эт, коммерческое эт, «собака»
# октоторп, решетка, диез
$ знак доллара
% процент
^ циркумфлекс, знак вставки
& амперсанд
* астериск, звездочка, знак умножения
( левая открывающая круглая скобка
) правая закрывающая круглая скобка
минус, дефис
_ знак подчеркивания
= знак равенства
+ плюс
левая открывающая квадратная скобка
правая закрывающая квадратная скобка
{ левая открывающая фигурная скобка
} правая закрывающая фигурная скобка
; точка с запятой
двоеточие
машинописный апостроф, одинарная кавычка
« двойная кавычка
, запятая
. точка
слэш, косая черта, знак дроби
< левая открытая угловая скобка, знак меньше
> правая закрытая угловая скобка, знак больше
\ обратный слэш, обратная косая черта
| вертикальная черта

Кодировка UNICODE

Юникод (Unicode) — стандарт кодирования символов, позволяющий представить знаки практически всех письменных языков. Стандарт предложен в 1991 году некоммерческой организацией «Консорциум Юникода».
В Unicode используются 16-битовые (2-байтовые) коды, что позволяет представить 65536 символов.
Применение стандарта Unicode позволяет закодировать очень большое число символов из разных письменностей: в документах Unicode могут соседствовать китайские иероглифы, математические символы, буквы греческого алфавита, латиницы и кириллицы, при этом становится ненужным переключение кодовых страниц.
Для представления символьных данных в кодировке Unicode используется символьный тип wchar_t.

ASCII UNICODE
char wchar_t
1 байт 2 байта

Тип кодировки задается в свойствах проекта Microsoft Visual Studio:
Многобайтовая кодировка предполагает использование кодировки ASCII.
При этом при построении проекта используется директива условной компиляции, переопределяющая тип TCHAR:

#ifdef _UNICODE  typedef wchar_t TCHAR;#else  typedef char TCHAR;#endif

_T(«строка»)tchar.hПредставление данных и архитектура ЭВМ

Кодировки кириллицы

Кодировки «нелатинских» алфавитных письменностей устроены следующим образом. Они кодируются восьмибитовой таблицей (1 байт = 1 символ), т. е. числами 00 — FF (0 — 255 десятичные) так, что младшая половина кодовой таблицы (коды 00 — 7F или 0 — 127 десятичные) совпадает с ASCII, а старшая половина (коды 80 — FF или 128 — 255 десятичные) содержит национальную кодировку, т. е. русские буквы в русских кодовых таблицах, турецкие в турецких и т. д. Такая организация национальных кодовых таблиц позволяет правильно отображать и обрабатывать латинские буквы, цифры и знаки препинания на любом компьютере, независимо от его системных настроек. Именно так, в частности, устроены и русские кодовые таблицы, так что мы можем в дальнейшем рассматривать только старшую их половину.

КОИ8-Р является стандартом de facto для всех служб Интернета, кроме WWW. В частности, все службы электронной почты и новостей Рунета работают в этой кодировке. Что касается Веба, то здесь ситуация сложнее. Дело в том, что более 90% клиентских компьютеров Сети работает под управлением Windows разных версий. Windows использует собственную кодировку русских букв, которую принято назвать по номеру кодовой страницы Windows-1251 или CP1251:

Поскольку текстовые редакторы и средства разработки HTML-страниц в Windows работают в этой кодировке, абсолютное большинство Веб-документов Рунета хранится в кодировке Windows-1251.

Оцените статью
Рейтинг автора
5
Материал подготовил
Илья Коршунов
Наш эксперт
Написано статей
134
Добавить комментарий