Таблиця символів windows 1251: Таблица кодов символов Windows-1251
Таблица кодов символов Windows-1251
Windows-1251 — набор символов и кодировка, являющаяся стандартной 8-битной кодировкой для всех русских версий Microsoft Windows. Данная кодировка пользуется довольно большой популярностью в восточно-европейских странах. Windows-1251 выгодно отличается от других 8-битных кириллических кодировок (таких как CP866, KOI8-R и ISO 8859-5) наличием практически всех символов, использующихся в традиционной русской типографике для обычного текста (отсутствует только знак ударения). Кириллические символы идут в алфавитном порядке.
Windows-1251 также содержит все символы для близких к русскому языку языков: белорусского, украинского, сербского, македонского и болгарского.
На практике этого оказалось достаточно, чтобы кодировка Windows-1251 закрепилась в интернете вплоть до распространения UTF-8.
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 | 0 | 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 (диапазон 00-31, плюс 127) были разработаны для того, чтобы управлять устройствами аппаратных средств, таких как телетайп, ввод данных на перфоленту и др.
Управляющие символы (кроме горизонтальной табуляции, перевода строки и возврата каретки) не используются в HTML-документах.
Код | Описание |
---|---|
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, 12 DC3, 13 DC4, 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, стереть последний символ. |
Смотрите также:
URL коды символов ACSII
URL коды символов UTF-8 диапазон от U+0400 до U+04FF
HTML Кодирование URL
Таблица кодов символов кирилицы UTF-8
Таблица Windows-1251
Windows-1251 (cp1251) — это стандартная 8-битная кодировка, разработанная компанией Microsoft. Она содержит практически все символы, которые Вы можете встретить на стандартной русской клавиатуре. Также 1251 имеет символы для таких языков, как белорусский, украинский, болгарский и сербский.
DEC | HEX | СИМВ | DEC | HEX | СИМВ | DEC | HEX | СИМВ |
000 | 00 | NOP | 086 | 56 | V | 171 | AB | « |
001 | 01 | SOH | 087 | 57 | W | 172 | AC | ¬ |
002 | 02 | STX | 088 | 58 | X | 173 | AD | |
003 | 03 | ETX | 089 | 59 | Y | 174 | AE | ® |
004 | 04 | EOT | 090 | 5A | Z | 175 | AF | Ї |
005 | 05 | ENQ | 091 | 5B | [ | 176 | B0 | ° |
006 | 06 | ACK | 092 | 5C | \ | 177 | B1 | ± |
007 | 07 | BEL | 093 | 5D | ] | 178 | B2 | І |
008 | 08 | BS | 094 | 5E | ^ | 179 | B3 | і |
009 | 09 | Табуляция | 095 | 5F | _ | 180 | B4 | ґ |
010 | 0A | LF | 096 | 60 | ` | 181 | B5 | µ |
011 | 0B | VT | 097 | 61 | a | 182 | B6 | ¶ |
012 | 0C | FF | 098 | 62 | b | 183 | B7 | · |
013 | 0D | CR | 099 | 63 | c | 184 | B8 | Ё |
014 | 0E | SO | 100 | 64 | d | 185 | B9 | № |
015 | 0F | SI | 101 | 65 | e | 186 | BA | Є |
016 | 10 | DLE | 102 | 66 | f | 187 | BB | » |
017 | 11 | DC1 | 103 | 67 | g | 188 | BC | ј |
018 | 12 | DC2 | 104 | 68 | h | 189 | BD | Ѕ |
019 | 13 | DC3 | 105 | 69 | i | 190 | BE | Ѕ |
020 | 14 | DC4 | 106 | 6A | j | 191 | BF | Ї |
021 | 15 | NAK | 107 | 6B | k | 192 | C0 | А |
022 | 16 | SYN | 108 | 6C | l | 193 | C1 | Б |
023 | 17 | ETB | 109 | 6D | m | 194 | C2 | В |
024 | 18 | CAN | 110 | 6E | n | 195 | C3 | Г |
025 | 19 | EM | 111 | 6F | o | 196 | C4 | Д |
026 | 1A | SUB | 112 | 70 | p | 197 | C5 | Е |
027 | 1B | ESC | 113 | 71 | q | 198 | C6 | Ж |
028 | 1C | FS | 114 | 72 | r | 199 | C7 | З |
029 | 1D | GS | 115 | 73 | s | 200 | C8 | И |
030 | 1E | RS | 116 | 74 | t | 201 | C9 | Й |
031 | 1F | US | 117 | 75 | u | 202 | CA | К |
032 | 20 | Пробел | 118 | 76 | v | 203 | CB | Л |
033 | 21 | ! | 119 | 77 | w | 204 | CC | М |
034 | 22 | « | 120 | 78 | x | 205 | CD | Н |
035 | 23 | # | 121 | 79 | y | 206 | CE | О |
036 | 24 | $ | 122 | 7A | z | 207 | CF | П |
037 | 25 | % | 123 | 7B | { | 208 | D0 | Р |
038 | 26 | & | 124 | 7C | | | 209 | D1 | С |
039 | 27 | ‘ | 125 | 7D | } | 210 | D2 | Т |
040 | 28 | ( | 126 | 7E | ~ | 211 | D3 | У |
041 | 29 | ) | 127 | 7F | | 212 | D4 | Ф |
042 | 2A | * | 128 | 80 | Ђ | 213 | D5 | Х |
043 | 2B | + | 129 | 81 | Ѓ | 214 | D6 | Ц |
044 | 2C | , | 130 | 82 | ‚ | 215 | D7 | Ч |
045 | 2D | — | 131 | 83 | ѓ | 216 | D8 | Ш |
046 | 2E | . | 132 | 84 | „ | 217 | D9 | Щ |
047 | 2F | / | 133 | 85 | … | 218 | DA | Ъ |
048 | 30 | 0 | 134 | 86 | † | 219 | DB | Ы |
049 | 31 | 1 | 135 | 87 | ‡ | 220 | DC | Ь |
050 | 32 | 2 | 136 | 88 | € | 221 | DD | Э |
051 | 33 | 3 | 137 | 89 | ‰ | 222 | DE | Ю |
052 | 34 | 4 | 138 | 8A | Љ | 223 | DF | Я |
053 | 35 | 5 | 139 | 8B | ‹ | 224 | E0 | а |
054 | 36 | 6 | 140 | 8C | Њ | 225 | E1 | б |
055 | 37 | 7 | 141 | 8D | Ќ | 226 | E2 | в |
056 | 38 | 8 | 142 | 8E | Ћ | 227 | E3 | г |
057 | 39 | 9 | 143 | 8F | Џ | 228 | E4 | д |
058 | 3A | : | 144 | 90 | Ђ | 229 | E5 | е |
059 | 3B | ; | 145 | 91 | ‘ | 230 | E6 | ж |
060 | 3C | < | 146 | 92 | ’ | 231 | E7 | з |
061 | 3D | = | 147 | 93 | “ | 232 | E8 | и |
062 | 3E | > | 148 | 94 | ” | 233 | E9 | й |
063 | 3F | ? | 149 | 95 | • | 234 | EA | к |
064 | 40 | @ | 150 | 96 | – | 235 | EB | л |
065 | 41 | A | 151 | 97 | — | 236 | EC | м |
066 | 42 | B | 152 | 98 | 237 | ED | н | |
067 | 43 | C | 153 | 99 | ™ | 238 | EE | о |
068 | 44 | D | 154 | 9A | љ | 239 | EF | п |
069 | 45 | E | 155 | 9B | › | 240 | F0 | р |
070 | 46 | F | 156 | 9C | њ | 241 | F1 | с |
071 | 47 | G | 157 | 9D | ќ | 242 | F2 | т |
072 | 48 | H | 158 | 9E | ћ | 243 | F3 | у |
073 | 49 | I | 159 | 9F | џ | 244 | F4 | ф |
074 | 4A | J | 160 | A0 | 245 | F5 | х | |
075 | 4B | K | 161 | A1 | Ў | 246 | F6 | ц |
076 | 4C | L | 162 | A2 | ў | 247 | F7 | ч |
077 | 4D | M | 163 | A3 | Ј | 248 | F8 | ш |
078 | 4E | N | 164 | A4 | ¤ | 249 | F9 | щ |
079 | 4F | O | 165 | A5 | Ґ | 250 | FA | ъ |
080 | 50 | P | 166 | A6 | ¦ | 251 | FB | ы |
081 | 51 | Q | 167 | A7 | § | 252 | FC | ь |
082 | 52 | R | 168 | A8 | Ё | 253 | FD | э |
083 | 53 | S | 169 | A9 | © | 254 | FE | ю |
084 | 54 | T | 170 | AA | Є | 255 | FF | я |
085 | 55 | U |
Похожие записи:
Таблица ASCII (кодировка Windows-1251)
Таблица ASCII (кодировка Windows-1251)
(0) | (1) | (2) | (3) | (4) | (5) | (6) | (7) | (8) | (9) | (10) | (11) | (12) | (13) | (14) | (15) | (16) |
(17) | (18) | (19) | (20) | (21) | (22) | (23) | (24) | (25) | (26) | (27) | (28) | (29) | (30) | (31) | (32) | !(33) |
«(34) | #(35) | $(36) | %(37) | &(38) | ‘(39) | ((40) | )(41) | *(42) | +(43) | ,(44) | —(45) | . (46) | /(47) | 0(48) | 1(49) | 2(50) |
3(51) | 4(52) | 5(53) | 6(54) | 7(55) | 8(56) | 9(57) | :(58) | ;(59) | (60) | =(61) | >(62) | ?(63) | @(64) | A(65) | B(66) | C(67) |
D(68) | E(69) | F(70) | G(71) | H(72) | I(73) | J(74) | K(75) | L(76) | M(77) | N(78) | O(79) | P(80) | Q(81) | R(82) | S(83) | T(84) |
U(85) | V(86) | W(87) | X(88) | Y(89) | Z(90) | [(91) | \ (92) | ](93) | ^(94) | _(95) | `(96) | a(97) | b(98) | c(99) | d(100) | e(101) |
f(102) | g(103) | h(104) | i(105) | j(106) | k(107) | l(108) | m(109) | n(110) | o(111) | p(112) | q(113) | r(114) | s(115) | t(116) | u(117) | v(118) |
w(119) | x(120) | y(121) | z(122) | {(123) | |(124) | }(125) | ~(126) | (127) | Ђ(128) | Ѓ(129) | ‚(130) | ѓ(131) | „(132) | …(133) | †(134) | ‡(135) |
€(136) | ‰(137) | Љ(138) | ‹(139) | Њ(140) | Ќ(141) | Ћ(142) | Џ(143) | ђ(144) | ‘(145) | ’(146) | “(147) | ”(148) | •(149) | –(150) | —(151) | (152) |
™(153) | љ(154) | ›(155) | њ(156) | ќ(157) | ћ(158) | џ(159) | (160) | Ў(161) | ў(162) | Ј(163) | ¤(164) | Ґ(165) | ¦(166) | §(167) | Ё(168) | ©(169) |
Є(170) | «(171) | ¬(172) | (173) | ®(174) | Ї(175) | °(176) | ±(177) | І(178) | і(179) | ґ(180) | µ(181) | ¶(182) | ·(183) | ё(184) | №(185) | є(186) |
»(187) | ј(188) | Ѕ(189) | ѕ(190) | ї(191) | А(192) | Б(193) | В(194) | Г(195) | Д(196) | Е(197) | Ж(198) | З(199) | И(200) | Й(201) | К(202) | Л(203) |
М(204) | Н(205) | О(206) | П(207) | Р(208) | С(209) | Т(210) | У(211) | Ф(212) | Х(213) | Ц(214) | Ч(215) | Ш(216) | Щ(217) | Ъ(218) | Ы(219) | Ь(220) |
Э(221) | Ю(222) | Я(223) | а(224) | б(225) | в(226) | г(227) | д(228) | е(229) | ж(230) | з(231) | и(232) | й(233) | к(234) | л(235) | м(236) | н(237) |
о(238) | п(239) | р(240) | с(241) | т(242) | у(243) | ф(244) | х(245) | ц(246) | ч(247) | ш(248) | щ(249) | ъ(250) | ы(251) | ь(252) | э(253) | ю(254) |
я(255) | (256) | (257) | (258) | (259) | (260) | (261) | (262) | (263) | (264) | (265) | (266) | (267) | (268) | (269) | (270) | (271) |
— версия для печати
- Определение
- ASCII (англ. American Standard Code for Information Interchange) — американская стандартная таблица для кодирования печатных символов и некоторых специальных кодов.
Если у вас есть мысли по поводу данной страницы или предложение по созданию математической (см. раздел «Математика») вспомогательной памятки, мы обязательно рассмотрим ваше предложение. Просто воспользуйтесь обратной связью. |
© Школяр. Математика (при поддержке «Ветвистого древа») 2009—2016
Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами
Сегодня мы поговорим о том, откуда берутся кракозябры на сайте и в программах, какие кодировки текста существуют и какие из них следует использовать. Подробно рассмотрим историю их развития, начиная с базовой ASCII, а также ее расширенных версий CP866, KOI8-R, Windows 1251 и заканчивая современными кодировками консорциума Юникод UTF 16 и 8.
Оглавление:
Кому-то эти сведения могут показаться излишними, но знали бы вы, сколько мне приходит вопросов именно касаемо вылезших кракозябров (нечитаемого набора символов). Теперь у меня будет возможность отсылать всех к тексту этой статьи и самостоятельно отыскивать свои косяки. Ну что же, приготовьтесь впитывать информацию и постарайтесь следить за ходом повествования.
ASCII — базовая кодировка текста для латиницы
Развитие кодировок текстов происходило одновременно с формированием отрасли IT, и они за это время успели претерпеть достаточно много изменений. Исторически все начиналось с довольно-таки неблагозвучной в русском произношении EBCDIC, которая позволяла кодировать буквы латинского алфавита, арабские цифры и знаки пунктуации с управляющими символами.
Но все же отправной точкой для развития современных кодировок текстов стоит считать знаменитую ASCII (American Standard Code for Information Interchange, которая по-русски обычно произносится как «аски»). Она описывает первые 128 символов из наиболее часто используемых англоязычными пользователями — латинские буквы, арабские цифры и знаки препинания.
Еще в эти 128 знаков, описанных в ASCII, попадали некоторые служебные символы вроде скобок, решеток, звездочек и т. п. Собственно, вы сами можете увидеть их:
Именно эти 128 символов из первоначального варианта ASCII стали стандартом, и в любой другой кодировке вы их обязательно встретите и стоять они будут именно в таком порядке.
Но дело в том, что с помощью одного байта информации можно закодировать не 128, а целых 256 различных значений (двойка в степени восемь равняется 256), поэтому вслед за базовой версией Аски появился целый ряд расширенных кодировок ASCII, в которых можно было кроме 128 основных знаков закодировать еще и символы национальной кодировки (например, русской).
Тут, наверное, стоит еще немного сказать о системах счисления, которые используются при описании. Во-первых, как вы все знаете, компьютер работает только с числами в двоичной системе, а именно с нулями и единицами («булева алгебра», если кто проходил в институте или в школе). Один байт состоит из восьми бит, каждый из которых представляет собой двойку в степени, начиная с нулевой, и до двойки в седьмой:
Не трудно понять, что всех возможных комбинаций нулей и единиц в такой конструкции может быть только 256. Переводить число из двоичной системы в десятичную довольно просто. Нужно просто сложить все степени двойки, над которыми стоят единички.
В нашем примере это получается 1 (2 в степени ноль) плюс 8 (два в степени 3), плюс 32 (двойка в пятой степени), плюс 64 (в шестой), плюс 128 (в седьмой). Итого получается 233 в десятичной системе счисления. Как видите, все очень просто.
Но если вы присмотритесь к таблице с символами ASCII, то увидите, что они представлены в шестнадцатеричной кодировке. Например, «звездочка» соответствует в Аски шестнадцатеричному числу 2A. Наверное, вам известно, что в шестнадцатеричной системе счисления используются кроме арабских цифр еще и латинские буквы от A (означает десять) до F (означает пятнадцать).
Ну так вот, для перевода двоичного числа в шестнадцатеричное прибегают к следующему простому способу. Каждый байт информации разбивают на две части по четыре бита. Т.е. в каждой половинке байта двоичным кодом можно закодировать только шестнадцать значений (два в четвертой степени), что можно легко представить шестнадцатеричным числом.
Причем в левой половине байта считать степени нужно будет опять начиная с нулевой, а не так, как показано на скриншоте. В результате мы получим, что на скриншоте закодировано число E9. Надеюсь, что ход моих рассуждений и разгадка данного ребуса вам оказались понятны. Ну, а теперь продолжим, собственно, говорить про кодировки текста.
Расширенные версии Аски — кодировки CP866 и KOI8-R с псевдографикой
Итак, мы с вами начали говорить про ASCII, которая являлась как бы отправной точкой для развития всех современных кодировок (Windows 1251, юникод, UTF 8).
Изначально в нее было заложено только 128 знаков латинского алфавита, арабских цифр и еще чего-то там, но в расширенной версии появилась возможность использовать все 256 значений, которые можно закодировать в одном байте информации. Т.е. появилась возможность добавить в Аски символы букв своего языка.
Тут нужно будет еще раз отвлечься, чтобы пояснить — зачем вообще нужны кодировки текстов и почему это так важно. Символы на экране вашего компьютера формируются на основе двух вещей — наборов векторных форм (представлений) всевозможных знаков (они находятся в файлах со шрифтами, которые установлены на вашем компьютере) и кода, который позволяет выдернуть из этого набора векторных форм (файла шрифта) именно тот символ, который нужно будет вставить в нужное место.
Понятно, что за сами векторные формы отвечают шрифты, а вот за кодирование отвечает операционная система и используемые в ней программы. Т.е. любой текст на вашем компьютере будет представлять собой набор байтов, в каждом из которых закодирован один единственный символ этого самого текста.
Программа, отображающая этот текст на экране (текстовый редактор, браузер и т.п.), при разборе кода считывает кодировку очередного знака и ищет соответствующую ему векторную форму в нужном файле шрифта, который подключен для отображения данного текстового документа. Все просто и банально.
Значит, чтобы закодировать любой нужный нам символ (например, из национального алфавита), нужно выполнить два условия: векторная форма этого знака должна быть в используемом шрифте, и этот символ можно было бы закодировать в расширенных кодировках ASCII в один байт. Поэтому таких вариантов существует целая куча. Только лишь для кодирования символов русского языка существует несколько разновидностей расширенной Аски.
Например, изначально появилась CP866, в которой была возможность использовать символы русского алфавита, и она являлась расширенной версией ASCII.
То есть, ее верхняя часть полностью совпадала с базовой версией Аски (128 символов латиницы, цифр и еще всякой лабуды), которая представлена на приведенном чуть выше скриншоте, а вот уже нижняя часть таблицы с кодировкой CP866 имела указанный на скриншоте чуть ниже вид и позволяла закодировать еще 128 знаков (русские буквы и всякая там псевдографика):
Видите, в правом столбце цифры начинаются с 8, т.к. числа с 0 до 7 относятся к базовой части ASCII (см. первый скриншот). Таким образом, у кириллической буквы «М» в CP866 будет код 9С (она находится на пересечении соответствующих строки с 9 и столбца с цифрой С в шестнадцатеричной системе счисления), который можно записать в одном байте информации, и при наличии подходящего шрифта с русскими символами эта буква без проблем отобразится в тексте.
Откуда взялось такое количество псевдографики в CP866? Тут все дело в том, что эта кодировка для русского текста разрабатывалась еще в те мохнатые года, когда графические операционные системы не были распространены как сейчас. А в Досе и подобных ей текстовых операционках псевдографика позволяла хоть как-то разнообразить оформление текстов и поэтому ею изобилует CP866 и все другие ее ровесницы из разряда расширенных версий Аски.
CP866 распространяла компания IBM, но кроме этого для символов русского языка были разработаны еще ряд кодировок, например, к этому же типу (расширенных ASCII) можно отнести KOI8-R:
Принцип ее работы остался тот же самый, что и у описанной чуть ранее CP866 — каждый символ текста кодируется одним единственным байтом. На скриншоте показана вторая половина таблицы KOI8-R, т.к. первая половина полностью соответствует базовой Аски, которая показана на первом скриншоте в этой статье.
Среди особенностей кодировки KOI8-R можно отметить то, что кириллические буквы в ее таблице идут не в алфавитном порядке, как это сделали в CP866.
Если посмотрите на самый первый скриншот (базовой части, которая входит во все расширенные кодировки), то заметите, что в KOI8-R русские буквы расположены в тех же ячейках таблицы, что и созвучные им буквы латинского алфавита из первой части таблицы. Это было сделано для удобства перехода с русских символов на латинские путем отбрасывания всего одного бита (два в седьмой степени или 128).
Windows 1251 — современная версия ASCII и почему вылезают кракозябры
Дальнейшее развитие кодировок текста было связано с тем, что набирали популярность графические операционные системы и необходимость использования псевдографики в них со временем пропала. В результате возникла целая группа, которая по своей сути по-прежнему являлись расширенными версиями Аски (один символ текста кодируется всего одним байтом информации), но уже без использования символов псевдографики.
Они относились к так называемым ANSI кодировкам, которые были разработаны американским институтом стандартизации. В просторечии еще использовалось название кириллица для варианта с поддержкой русского языка. Примером такой может служить Windows 1251.
Она выгодно отличалась от используемых ранее CP866 и KOI8-R тем, что место символов псевдографики в ней заняли недостающие символы русской типографики (окромя знака ударения), а также символы, используемые в близких к русскому славянских языках (украинскому, белорусскому и т.д.):
Из-за такого обилия кодировок русского языка, у производителей шрифтов и производителей программного обеспечения постоянно возникала головная боль, а у нас с вам, уважаемые читатели, зачастую вылезали те самые пресловутые кракозябры, когда происходила путаница с используемой в тексте версией.
Очень часто они вылезали при отправке и получении сообщений по электронной почте, что повлекло за собой создание очень сложных перекодировочных таблиц, которые, собственно, решить эту проблему в корне не смогли, и зачастую пользователи для переписки использовали транслит латинских букв, чтобы избежать пресловутых кракозябров при использовании русских кодировок подобных CP866, KOI8-R или Windows 1251.
По сути, кракозябры, вылазящие вместо русского текста, были результатом некорректного использования кодировки данного языка, которая не соответствовала той, в которой было закодировано текстовое сообщение изначально.
Допустим, если символы, закодированные с помощью CP866, попробовать отобразить, используя кодовую таблицу Windows 1251, то эти самые кракозябры (бессмысленный набор знаков) и вылезут, полностью заменив собой текст сообщения.
Аналогичная ситуация очень часто возникает при создании и настройке сайтов, форумов или блогов, когда текст с русскими символами по ошибке сохраняется не в той кодировке, которая используется на сайте по умолчанию, или же не в том текстовом редакторе, который добавляет в код отсебятину не видимую невооруженным глазом.
В конце концов такая ситуация с множеством кодировок и постоянно вылезающими кракозябрами многим надоела, появились предпосылки к созданию новой универсальной вариации, которая бы заменила собой все существующие и решила бы проблему с появлением не читаемых текстов. Кроме этого существовала проблема языков подобных китайскому, где символов языка было гораздо больше, чем 256.
Юникод (Unicode) — универсальные кодировки UTF 8, 16 и 32
Эти тысячи знаков языковой группы юго-восточной Азии никак невозможно было описать в одном байте информации, который выделялся для кодирования символов в расширенных версиях ASCII. В результате был создан консорциум под названием Юникод (Unicode — Unicode Consortium) при сотрудничестве многих лидеров IT индустрии (те, кто производит софт, кто кодирует железо, кто создает шрифты), которые были заинтересованы в появлении универсальной кодировки текста.
Первой вариацией, вышедшей под эгидой консорциума Юникод, была UTF 32. Цифра в названии кодировки означает количество бит, которое используется для кодирования одного символа. 32 бита составляют 4 байта информации, которые понадобятся для кодирования одного единственного знака в новой универсальной кодировке UTF.
В результате чего один и тот же файл с текстом, закодированный в расширенной версии ASCII и в UTF-32, в последнем случае будет иметь размер (весить) в четыре раза больше. Это плохо, но зато теперь у нас появилась возможность закодировать с помощью ЮТФ число знаков, равное двум в тридцать второй степени (миллиарды символов, которые покроют любое реально необходимое значение с колоссальным запасом).
Но многим странам с языками европейской группы такое огромное количество знаков использовать в кодировке вовсе и не было необходимости, однако при задействовании UTF-32 они ни за что ни про что получали четырехкратное увеличение веса текстовых документов, а в результате и увеличение объема интернет-трафика и объема хранимых данных. Это много, и такое расточительство себе никто не мог позволить.
В результате развития Юникода появилась UTF-16, которая получилась настолько удачной, что была принята по умолчанию как базовое пространство для всех символов, которые у нас используются. Она использует два байта для кодирования одного знака. Давайте посмотрим, как это дело выглядит.
В операционной системе Windows вы можете пройти по пути «Пуск» — «Программы» — «Стандартные» — «Служебные» — «Таблица символов». В результате откроется таблица с векторными формами всех установленных у вас в системе шрифтов. Если вы выберете в «Дополнительных параметрах» набор знаков Юникод, сможете увидеть для каждого шрифта в отдельности весь ассортимент входящих в него символов.
Кстати, щелкнув по любому из них, вы сможете увидеть его двухбайтовый код в формате UTF-16, состоящий из четырех шестнадцатеричных цифр:
Сколько символов можно закодировать в UTF-16 с помощью 16 бит? 65 536 (два в степени шестнадцать), и именно это число было принято за базовое пространство в Юникоде. Помимо этого существуют способы закодировать с помощью нее и около двух миллионов знаков, но ограничились расширенным пространством в миллион символов текста.
Но даже эта удачная версия кодировки Юникода не принесла особого удовлетворения тем, кто писал, допустим, программы только на английском языке, ибо у них после перехода от расширенной версии ASCII к UTF-16, вес документов увеличивался в два раза (один байт на один символ в Аски и два байта на тот же самый символ в ЮТФ-16).
Вот именно для удовлетворения всех и вся в консорциуме Unicode было решено придумать кодировку переменной длины. Ее назвали UTF-8. Несмотря на восьмерку в названии, она действительно имеет переменную длину, т.е. каждый символ текста может быть закодирован в последовательность длиной от одного до шести байт.
На практике же в UTF-8 используется только диапазон от одного до четырех байт, потому что за четырьмя байтами кода ничего уже даже теоретически не возможно представить. Все латинские знаки в ней кодируются в один байт, так же как и в старой доброй ASCII.
Что примечательно, в случае кодирования только латиницы, даже те программы, которые не понимают Юникод, все равно прочитают то, что закодировано в ЮТФ-8. То есть, базовая часть Аски просто перешла в это детище консорциума Unicode.
Кириллические же знаки в UTF-8 кодируются в два байта, а, например, грузинские — в три байта. Консорциум Юникод после создания UTF 16 и 8 решил основную проблему — теперь у нас в шрифтах существует единое кодовое пространство. И теперь их производителям остается только исходя из своих сил и возможностей заполнять его векторными формами символов текста.
В приведенной чуть выше «Таблице символов» видно, что разные шрифты поддерживают разное количество знаков. Некоторые насыщенные символами Юникода шрифты могут весить очень прилично. Но зато теперь они отличаются не тем, что они созданы для разных кодировок, а тем, что производитель шрифта заполнил или не заполнил единое кодовое пространство теми или иными векторными формами до конца.
Кракозябры вместо русских букв — как исправить
Давайте теперь посмотрим, как появляются вместо текста кракозябры или, другими словами, как выбирается правильная кодировка для русского текста. Собственно, она задается в той программе, в которой вы создаете или редактируете этот самый текст, или же код с использованием текстовых фрагментов.
Для редактирования и создания текстовых файлов лично я использую очень хороший, на мой взгляд, Html и PHP редактор Notepad++. Впрочем, он может подсвечивать синтаксис еще доброй сотни языков программирования и разметки, а также имеет возможность расширения с помощью плагинов. Читайте подробный обзор этой замечательной программы по приведенной ссылке.
В верхнем меню Notepad++ есть пункт «Кодировки», где у вас будет возможность преобразовать уже имеющийся вариант в тот, который используется на вашем сайте по умолчанию:
В случае сайта на Joomla 1.5 и выше, а также в случае блога на WordPress следует во избежании появления кракозябров выбирать вариант UTF 8 без BOM. А что такое приставка BOM?
Дело в том, что когда разрабатывали кодировку ЮТФ-16, зачем-то решили прикрутить к ней такую вещь, как возможность записывать код символа, как в прямой последовательности (например, 0A15), так и в обратной (150A). А для того, чтобы программы понимали, в какой именно последовательности читать коды, и был придуман BOM (Byte Order Mark или, другими словами, сигнатура), которая выражалась в добавлении трех дополнительных байтов в самое начало документов.
В кодировке UTF-8 никаких BOM предусмотрено в консорциуме Юникод не было и поэтому добавление сигнатуры (этих самых пресловутых дополнительных трех байтов в начало документа) некоторым программам просто-напросто мешает читать код. Поэтому мы всегда при сохранении файлов в ЮТФ должны выбирать вариант без BOM (без сигнатуры). Таким образом, вы заранее обезопасите себя от вылезания кракозябров.
Что примечательно, некоторые программы в Windows не умеют этого делать (не умеют сохранять текст в ЮТФ-8 без BOM), например, все тот же пресловутый Блокнот Windows. Он сохраняет документ в UTF-8, но все равно добавляет в его начало сигнатуру (три дополнительных байта). Причем эти байты будут всегда одни и те же — читать код в прямой последовательности. Но на серверах из-за этой мелочи может возникнуть проблема — вылезут кракозябры.
Поэтому ни в коем случае не пользуйтесь обычным блокнотом Windows для редактирования документов вашего сайта, если не хотите появления кракозябров. Лучшим и наиболее простым вариантом я считаю уже упомянутый редактор Notepad++, который практически не имеет недостатков и состоит из одних лишь достоинств.
В Notepad ++ при выборе кодировки у вас будет возможность преобразовать текст в кодировку UCS-2, которая по своей сути очень близка к стандарту Юникод. Также в Нотепаде можно будет закодировать текст в ANSI, т.е. применительно к русскому языку это будет уже описанная нами чуть выше Windows 1251. Откуда берется эта информация?
Она прописана в реестре вашей операционной системы Windows — какую кодировку выбирать в случае ANSI, какую выбирать в случае OEM (для русского языка это будет CP866). Если вы установите на своем компьютере другой язык по умолчанию, то и эти кодировки будут заменены на аналогичные из разряда ANSI или OEM для того самого языка.
После того, как вы в Notepad++ сохраните документ в нужной вам кодировке или же откроете документ с сайта для редактирования, то в правом нижнем углу редактора сможете увидеть ее название:
Чтобы избежать кракозябров, кроме описанных выше действий, будет полезным прописать в его шапке исходного кода всех страниц сайта информацию об этой самой кодировке, чтобы на сервере или локальном хосте не возникло путаницы.
Вообще, во всех языках гипертекстовой разметки кроме Html используется специальное объявление xml, в котором указывается кодировка текста.
<?xml version="1.0" encoding="windows-1251"?>
Прежде, чем начать разбирать код, браузер узнает, какая версия используется и как именно нужно интерпретировать коды символов этого языка. Но что примечательно, если вы сохраняете документ в принятом по умолчанию юникоде, это объявление xml можно будет опустить (кодировка будет считаться UTF-8, если нет BOM или ЮТФ-16, если BOM есть).
В случае же документа языка Html для указания кодировки используется элемент Meta, который прописывается между открывающим и закрывающим тегом Head:
<head>
...
<meta charset="utf-8">
...
</head>
Эта запись довольно сильно отличается от принятой в стандарте в Html 4.01, но полностью соответствует стандарту Html 5, и она будет стопроцентно правильно понята любыми используемыми на текущий момент браузерами.
По идее элемент Meta с указание кодировки Html документа лучше будет ставить как можно выше в шапке документа, чтобы на момент встречи в тексте первого знака не из базовой ANSI (которые правильно прочитаются всегда и в любой вариации) браузер уже должен иметь информацию о том, как интерпретировать коды этих символов.
Ссылка на первоисточник: Кодировка текста ASCII (Windows 1251, CP866, KOI8-R) и Юникод (UTF 8, 16, 32) — как исправить проблему с кракозябрами
✔️ ❤️ ★ Таблица символов Юникода
Юникод
Юникод (по-английски Unicode) — это стандарт кодирования символов. Проще говоря, это таблица соответствия текстовых знаков (цифр, букв, элементов пунктуации) двоичным кодам. Компьютер понимает только последовательность нулей и единиц. Чтобы он знал, что именно должен отобразить на экране, необходимо присвоить каждому символу свой уникальный номер. В восьмидесятых, знаки кодировали одним байтом, то есть восемью битами (каждый бит это 0 или 1). Таким образом получалось, что одна таблица (она же кодировка или набор) может вместить только 256 знаков. Этого может не хватить даже для одного языка. Поэтому, появилось много разных кодировок, путаница с которыми часто приводила к тому, что на экране вместо читаемого текста появлялись какие-то странные кракозябры. Требовался единый стандарт, которым и стал Юникод. Самая используемая кодировка — UTF-8 (Unicode Transformation Format) для изображения символа задействует от 1 до 4 байт.
Символы
Символы в таблицах Юникода пронумерованы шестнадцатеричными числами. Например, кириллическая заглавная буква М обозначена U+041C. Это значит, что она стоит на пересечении строки 041 и столбца С. Её можно просто скопировать и потом вставить куда-либо. Чтобы не рыться в многокилометровом списке следует воспользоваться поиском. Зайдя на страницу символа, вы увидите его номер в Юникоде и способ начертания в разных шрифтах. В строку поиска можно вбить и сам знак, даже если вместо него отрисовывается квадратик, хотя бы для того, чтобы узнать, что это было. Ещё, на этом сайте есть специальные (и не специальные — случайные) наборы однотипных значков, собранные из разных разделов, для удобства их использования.
Стандарт Юникод — международный. Он включает знаки почти всех письменностей мира. В том числе и тех, которые уже не применяются. Египетские иероглифы, германские руны, письменность майя, клинопись и алфавиты древних государств. Представлены и обозначения мер и весов, нотных грамот, математических понятий.
Сам консорциум Юникода не изобретает новых символов. В таблицы добавляются те значки, которые находят своё применение в обществе. Например, активно использовался в течении шести лет прежде чем был добавлен в Юникод. Пиктограммы эмодзи (смайлики) тоже сначала получили широкое применение в Япониии прежде чем были включены в кодировку. А вот товарные знаки, и логотипы компаний не добавляются принципиально. Даже такие распространённые как яблоко Apple или флаг Windows. На сегодняшний день, в версии 8.0 закодировано около 120 тысяч символов.
Таблица символов ASCII
Список из 256 символов и их коды в ASCII.
1
Управляющие символы
DEC | OCT | HEX | BIN | Символ | Escape послед. | HTML код | Описание |
---|---|---|---|---|---|---|---|
0 | 000 | 0x00 | 00000000 | NUL | \0 | � | Нулевой байт |
1 | 001 | 0x01 | 00000001 | SOH |  | Начало заголовка | |
2 | 002 | 0x02 | 00000010 | STX |  | Начало текста | |
3 | 003 | 0x03 | 00000011 | ETX |  | Конец «текста» | |
4 | 004 | 0x04 | 00000100 | EOT |  | конец передачи | |
5 | 005 | 0x05 | 00000101 | ENQ |  | «Прошу подтверждения!» | |
6 | 006 | 0x06 | 00000110 | ACK |  | «Подтверждаю!» | |
7 | 007 | 0x07 | 00000111 | BEL | \a |  | Звуковой сигнал – звонок |
8 | 010 | 0x08 | 00001000 | BS | \b |  | Возврат на один символ (BACKSPACE) |
9 | 011 | 0x09 | 00001001 | TAB | \t | 	 | Табуляция |
10 | 012 | 0x0A | 00001010 | LF | \n | 
 | Перевод строки |
11 | 013 | 0x0B | 00001011 | VT | \v |  | Вертикальная табуляция |
12 | 014 | 0x0C | 00001100 | FF | \f |  | Прогон страницы, новая страница |
13 | 015 | 0x0D | 00001101 | CR | \r | 
 | Возврат каретки |
14 | 016 | 0x0E | 00001110 | SO |  | Переключиться на другую ленту (кодировку) | |
15 | 017 | 0x0F | 00001111 | SI |  | Переключиться на исходную ленту (кодировку) | |
16 | 020 | 0x10 | 00010000 | DLE |  | Экранирование канала данных | |
17 | 021 | 0x11 | 00010001 | DC1 |  | 1-й символ управления устройством | |
18 | 022 | 0x12 | 00010010 | DC2 |  | 2-й символ управления устройством | |
19 | 023 | 0x13 | 00010011 | DC3 |  | 3-й символ управления устройством | |
20 | 024 | 0x14 | 00010100 | DC4 |  | 4-й символ управления устройством | |
21 | 025 | 0x15 | 00010101 | NAK |  | «Не подтверждаю!» | |
22 | 026 | 0x16 | 00010110 | SYN |  | Символ для синхронизации | |
23 | 027 | 0x17 | 00010111 | ETB |  | Конец текстового блока | |
24 | 030 | 0x18 | 00011000 | CAN |  | Отмена | |
25 | 031 | 0x19 | 00011001 | EM |  | Конец носителя | |
26 | 032 | 0x1A | 00011010 | SUB |  | Подставить | |
27 | 033 | 0x1B | 00011011 | ESC | \e |  | Escape (Расширение) |
28 | 034 | 0x1C | 00011100 | FS |  | Разделитель файлов | |
29 | 035 | 0x1D | 00011101 | GS |  | Разделитель групп | |
30 | 036 | 0x1E | 00011110 | RS |  | Разделитель записей | |
31 | 037 | 0x1F | 00011111 | US |  | Разделитель юнитов | |
127 | 177 | 0x7F | 01111111 | Delete |  | Символ для удаления (на перфолентах) |
2
Печатные символы
DEC | OCT | HEX | BIN | Символ | HTML код | Мнемоника |
---|---|---|---|---|---|---|
32 | 040 | 0x20 | 00100000 | Пробел |   | |
33 | 041 | 0x21 | 00100001 | ! | ! | |
34 | 042 | 0x22 | 00100010 | « | " | " |
35 | 043 | 0x23 | 00100011 | # | # | |
36 | 044 | 0x24 | 00100100 | $ | $ | |
37 | 045 | 0x25 | 00100101 | % | % | |
38 | 046 | 0x26 | 00100110 | & | & | & |
39 | 047 | 0x27 | 00100111 | ‘ | ' | ' |
40 | 050 | 0x28 | 00101000 | ( | ( | |
41 | 051 | 0x29 | 00101001 | ) | ) | |
42 | 052 | 0x2A | 00101010 | * | * | |
43 | 053 | 0x2B | 00101011 | + | + | |
44 | 054 | 0x2C | 00101100 | , | , | |
45 | 055 | 0x2D | 00101101 | — | - | |
46 | 056 | 0x2E | 00101110 | . | . | |
47 | 057 | 0x2F | 00101111 | / | / | |
48 | 060 | 0x30 | 00110000 | 0 | 0 | |
49 | 061 | 0x31 | 00110001 | 1 | 1 | |
50 | 062 | 0x32 | 00110010 | 2 | 2 | |
51 | 063 | 0x33 | 00110011 | 3 | 3 | |
52 | 064 | 0x34 | 00110100 | 4 | 4 | |
53 | 065 | 0x35 | 00110101 | 5 | 5 | |
54 | 066 | 0x36 | 00110110 | 6 | 6 | |
55 | 067 | 0x37 | 00110111 | 7 | 7 | |
56 | 070 | 0x38 | 00111000 | 8 | 8 | |
57 | 071 | 0x39 | 00111001 | 9 | 9 | |
58 | 072 | 0x3A | 00111010 | : | : | |
59 | 073 | 0x3B | 00111011 | ; | ; | |
60 | 074 | 0x3C | 00111100 | < | < | < |
61 | 075 | 0x3D | 00111101 | = | = | |
62 | 076 | 0x3E | 00111110 | > | > | > |
63 | 077 | 0x3F | 00111111 | ? | ? | |
64 | 100 | 0x40 | 01000000 | @ | @ | |
65 | 101 | 0x41 | 01000001 | A | A | |
66 | 102 | 0x42 | 01000010 | B | B | |
67 | 103 | 0x43 | 01000011 | C | C | |
68 | 104 | 0x44 | 01000100 | D | D | |
69 | 105 | 0x45 | 01000101 | E | E | |
70 | 106 | 0x46 | 01000110 | F | F | |
71 | 107 | 0x47 | 01000111 | G | G | |
72 | 110 | 0x48 | 01001000 | H | H | |
73 | 111 | 0x49 | 01001001 | I | I | |
74 | 112 | 0x4A | 01001010 | J | J | |
75 | 113 | 0x4B | 01001011 | K | K | |
76 | 114 | 0x4C | 01001100 | L | L | |
77 | 115 | 0x4D | 01001101 | M | M | |
78 | 116 | 0x4E | 01001110 | N | N | |
79 | 117 | 0x4F | 01001111 | O | O | |
80 | 120 | 0x50 | 01010000 | P | P | |
81 | 121 | 0x51 | 01010001 | Q | Q | |
82 | 122 | 0x52 | 01010010 | R | R | |
83 | 123 | 0x53 | 01010011 | S | S | |
84 | 124 | 0x54 | 01010100 | T | T | |
85 | 125 | 0x55 | 01010101 | U | U | |
86 | 126 | 0x56 | 01010110 | V | V | |
87 | 127 | 0x57 | 01010111 | W | W | |
88 | 130 | 0x58 | 01011000 | X | X | |
89 | 131 | 0x59 | 01011001 | Y | Y | |
90 | 132 | 0x5A | 01011010 | Z | Z | |
91 | 133 | 0x5B | 01011011 | [ | [ | |
92 | 134 | 0x5C | 01011100 | \ | \ | |
93 | 135 | 0x5D | 01011101 | ] | ] | |
94 | 136 | 0x5E | 01011110 | ^ | ^ | |
95 | 137 | 0x5F | 01011111 | _ | _ | |
96 | 140 | 0x60 | 01100000 | ` | ` | |
97 | 141 | 0x61 | 01100001 | a | a | |
98 | 142 | 0x62 | 01100010 | b | b | |
99 | 143 | 0x63 | 01100011 | c | c | |
100 | 144 | 0x64 | 01100100 | d | d | |
101 | 145 | 0x65 | 01100101 | e | e | |
102 | 146 | 0x66 | 01100110 | f | f | |
103 | 147 | 0x67 | 01100111 | g | g | |
104 | 150 | 0x68 | 01101000 | h | h | |
105 | 151 | 0x69 | 01101001 | i | i | |
106 | 152 | 0x6A | 01101010 | j | j | |
107 | 153 | 0x6B | 01101011 | k | k | |
108 | 154 | 0x6C | 01101100 | l | l | |
109 | 155 | 0x6D | 01101101 | m | m | |
110 | 156 | 0x6E | 01101110 | n | n | |
111 | 157 | 0x6F | 01101111 | o | o | |
112 | 160 | 0x70 | 01110000 | p | p | |
113 | 161 | 0x71 | 01110001 | q | q | |
114 | 162 | 0x72 | 01110010 | r | r | |
115 | 163 | 0x73 | 01110011 | s | s | |
116 | 164 | 0x74 | 01110100 | t | t | |
117 | 165 | 0x75 | 01110101 | u | u | |
118 | 166 | 0x76 | 01110110 | v | v | |
119 | 167 | 0x77 | 01110111 | w | w | |
120 | 170 | 0x78 | 01111000 | x | x | |
121 | 171 | 0x79 | 01111001 | y | y | |
122 | 172 | 0x7A | 01111010 | z | z | |
123 | 173 | 0x7B | 01111011 | { | { | |
124 | 174 | 0x7C | 01111100 | | | | | |
125 | 175 | 0x7D | 01111101 | } | } | |
126 | 176 | 0x7E | 01111110 | ~ | ~ |
3
Расширенные символы ASCII Win-1251 кириллица
DEC | OCT | HEX | BIN | Символ | HTML код | Мнемоника |
---|---|---|---|---|---|---|
128 | 200 | 0x80 | 10000000 | Ђ | € | |
129 | 201 | 0x81 | 10000001 | Ѓ |  | |
130 | 202 | 0x82 | 10000010 | ‚ | ‚ | ‚ |
131 | 203 | 0x83 | 10000011 | ѓ | ƒ | |
132 | 204 | 0x84 | 10000100 | „ | „ | „ |
133 | 205 | 0x85 | 10000101 | … | … | … |
134 | 206 | 0x86 | 10000110 | † | † | † |
135 | 207 | 0x87 | 10000111 | ‡ | ‡ | ‡ |
136 | 210 | 0x88 | 10001000 | € | ˆ | € |
137 | 211 | 0x89 | 10001001 | ‰ | ‰ | ‰ |
138 | 212 | 0x8A | 10001010 | Љ | Š | |
139 | 213 | 0x8B | 10001011 | ‹ | ‹ | ‹ |
140 | 214 | 0x8C | 10001100 | Њ | Œ | |
141 | 215 | 0x8D | 10001101 | Ќ |  | |
142 | 216 | 0x8E | 10001110 | Ћ | Ž | |
143 | 217 | 0x8F | 10001111 | Џ |  | |
144 | 220 | 0x90 | 10010000 | Ђ |  | |
145 | 221 | 0x91 | 10010001 | ‘ | ‘ | ‘ |
146 | 222 | 0x92 | 10010010 | ’ | ’ | ’ |
147 | 223 | 0x93 | 10010011 | “ | “ | “ |
148 | 224 | 0x94 | 10010100 | ” | ” | ” |
149 | 225 | 0x95 | 10010101 | • | • | • |
150 | 226 | 0x96 | 10010110 | – | – | – |
151 | 227 | 0x97 | 10010111 | — | — | — |
152 | 230 | 0x98 | 10011000 | Начало строки | ˜ | |
153 | 231 | 0x99 | 10011001 | ™ | ™ | ™ |
154 | 232 | 0x9A | 10011010 | љ | š | |
155 | 233 | 0x9B | 10011011 | › | › | › |
156 | 234 | 0x9C | 10011100 | њ | œ | |
157 | 235 | 0x9D | 10011101 | ќ |  | |
158 | 236 | 0x9E | 10011110 | ћ | ž | |
159 | 237 | 0x9F | 10011111 | џ | Ÿ | |
160 | 240 | 0xA0 | 10100000 | Неразрывный пробел |   | |
161 | 241 | 0xA1 | 10100001 | Ў | ¡ | |
162 | 242 | 0xA2 | 10100010 | ў | ¢ | |
163 | 243 | 0xA3 | 10100011 | Ј | £ | |
164 | 244 | 0xA4 | 10100100 | ¤ | ¤ | ¤ |
165 | 245 | 0xA5 | 10100101 | Ґ | ¥ | |
166 | 246 | 0xA6 | 10100110 | ¦ | ¦ | ¦ |
167 | 247 | 0xA7 | 10100111 | § | § | § |
168 | 250 | 0xA8 | 10101000 | Ё | ¨ | |
169 | 251 | 0xA9 | 10101001 | © | © | © |
170 | 252 | 0xAA | 10101010 | Є | ª | |
171 | 253 | 0xAB | 10101011 | « | « | « |
172 | 254 | 0xAC | 10101100 | ¬ | ¬ | ¬ |
173 | 255 | 0xAD | 10101101 | Мягкий перенос | ­ | ­ |
174 | 256 | 0xAE | 10101110 | ® | ® | ® |
175 | 257 | 0xAF | 10101111 | Ї | ¯ | |
176 | 260 | 0xB0 | 10110000 | ° | ° | ° |
177 | 261 | 0xB1 | 10110001 | ± | ± | ± |
178 | 262 | 0xB2 | 10110010 | І | ² | |
179 | 263 | 0xB3 | 10110011 | і | ³ | |
180 | 264 | 0xB4 | 10110100 | ґ | ´ | |
181 | 265 | 0xB5 | 10110101 | µ | µ | µ |
182 | 266 | 0xB6 | 10110110 | ¶ | ¶ | ¶ |
183 | 267 | 0xB7 | 10110111 | · | · | · |
184 | 270 | 0xB8 | 10111000 | ё | ¸ | |
185 | 271 | 0xB9 | 10111001 | № | ¹ | |
186 | 272 | 0xBA | 10111010 | є | º | |
187 | 273 | 0xBB | 10111011 | » | » | » |
188 | 274 | 0xBC | 10111100 | ј | ¼ | |
189 | 275 | 0xBD | 10111101 | Ѕ | ½ | |
190 | 276 | 0xBE | 10111110 | ѕ | ¾ | |
191 | 277 | 0xBF | 10111111 | ї | ¿ | |
192 | 300 | 0xC0 | 11000000 | А | À | |
193 | 301 | 0xC1 | 11000001 | Б | Á | |
194 | 302 | 0xC2 | 11000010 | В | Â | |
195 | 303 | 0xC3 | 11000011 | Г | Ã | |
196 | 304 | 0xC4 | 11000100 | Д | Ä | |
197 | 305 | 0xC5 | 11000101 | Е | Å | |
198 | 306 | 0xC6 | 11000110 | Ж | Æ | |
199 | 307 | 0xC7 | 11000111 | З | Ç | |
200 | 310 | 0xC8 | 11001000 | И | È | |
201 | 311 | 0xC9 | 11001001 | Й | É | |
202 | 312 | 0xCA | 11001010 | К | Ê | |
203 | 313 | 0xCB | 11001011 | Л | Ë | |
204 | 314 | 0xCC | 11001100 | М | Ì | |
205 | 315 | 0xCD | 11001101 | Н | Í | |
206 | 316 | 0xCE | 11001110 | О | Î | |
207 | 317 | 0xCF | 11001111 | П | Ï | |
208 | 320 | 0xD0 | 11010000 | Р | Ð | |
209 | 321 | 0xD1 | 11010001 | С | Ñ | |
210 | 322 | 0xD2 | 11010010 | Т | Ò | |
211 | 323 | 0xD3 | 11010011 | У | Ó | |
212 | 324 | 0xD4 | 11010100 | Ф | Ô | |
213 | 325 | 0xD5 | 11010101 | Х | Õ | |
214 | 326 | 0xD6 | 11010110 | Ц | Ö | |
215 | 327 | 0xD7 | 11010111 | Ч | × | |
216 | 330 | 0xD8 | 11011000 | Ш | Ø | |
217 | 331 | 0xD9 | 11011001 | Щ | Ù | |
218 | 332 | 0xDA | 11011010 | Ъ | Ú | |
219 | 333 | 0xDB | 11011011 | Ы | Û | |
220 | 334 | 0xDC | 11011100 | Ь | Ü | |
221 | 335 | 0xDD | 11011101 | Э | Ý | |
222 | 336 | 0xDE | 11011110 | Ю | Þ | |
223 | 337 | 0xDF | 11011111 | Я | ß | |
224 | 340 | 0xE0 | 11100000 | а | à | |
225 | 341 | 0xE1 | 11100001 | б | á | |
226 | 342 | 0xE2 | 11100010 | в | â | |
227 | 343 | 0xE3 | 11100011 | г | ã | |
228 | 344 | 0xE4 | 11100100 | д | ä | |
229 | 345 | 0xE5 | 11100101 | е | å | |
230 | 346 | 0xE6 | 11100110 | ж | æ | |
231 | 347 | 0xE7 | 11100111 | з | ç | |
232 | 350 | 0xE8 | 11101000 | и | è | |
233 | 351 | 0xE9 | 11101001 | й | é | |
234 | 352 | 0xEA | 11101010 | к | ê | |
235 | 353 | 0xEB | 11101011 | л | ë | |
236 | 354 | 0xEC | 11101100 | м | ì | |
237 | 355 | 0xED | 11101101 | н | í | |
238 | 356 | 0xEE | 11101110 | о | î | |
239 | 357 | 0xEF | 11101111 | п | ï | |
240 | 360 | 0xF0 | 11110000 | р | ð | |
241 | 361 | 0xF1 | 11110001 | с | ñ | |
242 | 362 | 0xF2 | 11110010 | т | ò | |
243 | 363 | 0xF3 | 11110011 | у | ó | |
244 | 364 | 0xF4 | 11110100 | ф | ô | |
245 | 365 | 0xF5 | 11110101 | х | õ | |
246 | 366 | 0xF6 | 11110110 | ц | ö | |
247 | 367 | 0xF7 | 11110111 | ч | ÷ | |
248 | 370 | 0xF8 | 11111000 | ш | ø | |
249 | 371 | 0xF9 | 11111001 | щ | ù | |
250 | 372 | 0xFA | 11111010 | ъ | ú | |
251 | 373 | 0xFB | 11111011 | ы | û | |
252 | 374 | 0xFC | 11111100 | ь | ü | |
253 | 375 | 0xFD | 11111101 | э | ý | |
254 | 376 | 0xFE | 11111110 | ю | þ | |
255 | 377 | 0xFF | 11111111 | я | ÿ |
Таблицы кодировок ASCII, CP1251 (windows1251), ISO-8859-5 — Микроконтроллеры для всех
Таблица ASCII
Таблица ASCII (American standard code for information interchange) является мировым стандартом для кодирования букв английского алфавита, популярных спец символов (! $ # % & и т.д.) и некоторых непечатных символов (например, возврат каретки 0x0D и перенос строки 0х0А).
Таблица создавалась те времена, когда возникла необходимость связать символы и числа. А такое соответствие необходимо было для того что бы с помощью чисел можно было передать текстовое сообщение между разными устройствами с цифровой связью.
Таблица CP1251 (windows-1251)
Эта кодировочная таблица может называться или CP1251 или Windows-1251 Это стандарт кодирования кириллических символов в операционных системах windows с русскоязычным интерфейсом.
Первая часть этой таблицы (до байта 0x7F) повторяет таблицу ASCII, а вторая часть (от 0x80 до 0xFF) кодирует кириллические символы в алфавитном порядке.
CP1251 (windows-1251)
Таблица IS0-8859-5
Эта кодировка применяется в дисплеях Nextion для кодирования кириллических символов.
Стоит обратить внимание, что в данной таблице кириллические символы расположены в алфавитном порядке и сдвинуты ровно на 16 байт по сравнению с кодировочной таблицей windows-1251.
Кодировка UTF-8
(Unicode Transformation Format)
Очень распространенный формат кодирования символов, позволяющий кодировать символы переменным количеством байт.
Например, если для кодирования номера символа требуется 21 бит, то используется 4 байта для кодировки. Если для кодирования достаточно 11 бит, то используют 2 байта. А если номер символа может быть закодирован 7 битами, то используется один байт.
Кодировка UTF-8
Все ASCII символы в кодировке UTF8 закодированы без изменений, то есть 1 байтом, как в стандартной таблице ASCII.
А вот остальные символы закодированы количеством байт от 2 до 4.
Кириллические символы закодированы двумя байтами.
PostgreSQL: Документация: 9.3: Поддержка набора символов
Поддержка набора символов в PostgreSQL позволяет хранить текст в
множество наборов символов (также называемых кодировками), включая
однобайтовые наборы символов, такие как серия ISO 8859 и
многобайтовые наборы символов, такие как EUC (Extended Unix Code), UTF-8 и Mule
внутренний код. Можно использовать все поддерживаемые наборы символов.
прозрачно для клиентов, но некоторые из них не поддерживаются для использования
внутри сервера (то есть как кодирование на стороне сервера).По умолчанию
набор символов выбирается при инициализации кластера базы данных PostgreSQL с помощью initdb. Его можно переопределить при создании
база данных, поэтому у вас может быть несколько баз данных с разными
набор символов.
Однако важным ограничением является то, что каждая база данных
набор символов должен быть совместим с настройками локали базы данных LC_CTYPE (классификация символов) и LC_COLLATE (порядок сортировки строк). Для
C или POSIX
языковой стандарт, разрешен любой набор символов, но для других языков есть
это только один набор символов, который будет работать правильно.(В Windows
однако кодировку UTF-8 можно использовать с любой локалью.)
Таблица 22-1 показывает
наборы символов, доступные для использования в PostgreSQL.
Таблица 22-1. PostgreSQL
Наборы символов
Имя | Описание | Язык | Сервер? | байт / символ | Псевдонимы |
---|---|---|---|---|---|
BIG5 | Большая пятерка | Традиционный китайский | Нет | 1-2 | WIN950, Windows950 |
EUC_CN | Расширенный код UNIX — CN | Упрощенный китайский | Есть | 1-3 | |
EUC_JP | Расширенный код UNIX — JP | Японский | Есть | 1-3 | |
EUC_JIS_2004 | Расширенный код UNIX-JP, JIS X 0213 | Японский | Есть | 1-3 | |
EUC_KR | Расширенный код UNIX-KR | Корейский | Есть | 1-3 | |
EUC_TW | Расширенный код UNIX-TW | Традиционный китайский, Тайваньский | Есть | 1-3 | |
ГБ18030 | Национальный стандарт | китайский | Нет | 1-4 | |
ГБК | Расширенный национальный стандарт | Упрощенный китайский | Нет | 1-2 | WIN936, Windows936 |
ISO_8859_5 | ISO 8859-5, ECMA 113 | Латиница / кириллица | Есть | 1 | |
ISO_8859_6 | ISO 8859-6, ECMA 114 | Латинский / арабский | Есть | 1 | |
ISO_8859_7 | ISO 8859-7, ECMA 118 | Латинский / греческий | Есть | 1 | |
ISO_8859_8 | ISO 8859-8, ECMA 121 | Латиница / Иврит | Есть | 1 | |
JOHAB | JOHAB | Корейский (хангыль) | Нет | 1-3 | |
KOI8R | КОИ8-Р | Кириллица (русская) | Есть | 1 | КОИ8 |
КОИ8У | КОИ8-У | Кириллица (украинская) | Есть | 1 | |
ЛАТИН 1 | ISO 8859-1, ECMA 94 | Западноевропейская | Есть | 1 | ISO88591 |
ЛАТИН 2 | ISO 8859-2, ECMA 94 | Центральноевропейская | Есть | 1 | ISO88592 |
ЛАТИН 3 | ISO 8859-3, ECMA 94 | Южноевропейский | Есть | 1 | ISO88593 |
ЛАТИН 4 | ISO 8859-4, ECMA 94 | Северо-Европейский | Есть | 1 | ISO88594 |
LATIN5 | ISO 8859-9, ECMA 128 | Турецкий | Есть | 1 | ISO88599 |
LATIN6 | ISO 8859-10, ECMA 144 | Северный | Есть | 1 | ISO885910 |
LATIN7 | ISO 8859-13 | Балтика | Есть | 1 | ISO885913 |
ЛАТИН 8 | ISO 8859-14 | кельтский | Есть | 1 | ISO885914 |
ЛАТИН 9 | ISO 8859-15 | LATIN1 с евро и акцентами | Есть | 1 | ISO885915 |
ЛАТИН 10 | ISO 8859-16, ASRO SR 14111 | Румынский | Есть | 1 | ISO885916 |
MULE_INTERNAL | Мул внутренний код | Многоязычный Emacs | Есть | 1-4 | |
SJIS | Сдвиг JIS | Японский | Нет | 1-2 | Мсканджи, ShiftJIS, WIN932, Окна932 |
SHIFT_JIS_2004 | Сдвиг JIS, JIS X 0213 | Японский | Нет | 1-2 | |
SQL_ASCII | не указано (см. Текст) | любая | Есть | 1 | |
UHC | Единый код хангыль | Корейский | Нет | 1-2 | WIN949, Windows949 |
UTF8 | Unicode, 8-битный | все | Есть | 1-4 | Юникод |
WIN866 | Окна CP866 | Кириллица | Есть | 1 | ALT |
WIN874 | Окна CP874 | Тайский | Есть | 1 | |
WIN1250 | Окна CP1250 | Центральноевропейская | Есть | 1 | |
WIN1251 | Окна CP1251 | Кириллица | Есть | 1 | ВЫИГРАТЬ |
WIN1252 | Окна CP1252 | Западноевропейская | Есть | 1 | |
WIN1253 | Окна CP1253 | Греческий | Есть | 1 | |
WIN1254 | Окна CP1254 | Турецкий | Есть | 1 | |
WIN1255 | Окна CP1255 | Еврейский | Есть | 1 | |
WIN1256 | Окна CP1256 | Арабский | Есть | 1 | |
WIN1257 | Окна CP1257 | Балтика | Есть | 1 | |
WIN1258 | Окна CP1258 | Вьетнамский | Есть | 1 | ABC, TCVN, TCVN5712, VSCII |
Не все клиентские API поддерживают
все перечисленные наборы символов.Например, драйвер PostgreSQL JDBC не поддерживает
MULE_INTERNAL, LATIN6, LATIN8 и
ЛАТИНСКИЙ 10.
Параметр SQL_ASCII ведет себя
значительно отличается от других настроек. Когда сервер
набор символов — SQL_ASCII, сервер
интерпретирует байтовые значения 0-127 в соответствии со стандартом ASCII, а
байтовые значения 128–255 считаются неинтерпретируемыми символами. Нет
преобразование кодировки будет выполнено, если установлено значение SQL_ASCII. Таким образом, этот параметр не так уж и хорош.
объявление того, что используется определенная кодировка, как объявление
незнание кодировки.В большинстве случаев, если вы работаете
с любыми данными, отличными от ASCII, неразумно использовать параметр SQL_ASCII, потому что PostgreSQL не сможет вам помочь
преобразование или проверка символов, отличных от ASCII.
initdb определяет символ по умолчанию
установить (кодировку) для PostgreSQL
кластер. Например,
initdb -E EUC_JP
устанавливает набор символов по умолчанию на EUC_JP (расширенный код Unix для японского языка). Ты можешь
используйте —encoding вместо -E, если вы предпочитаете более длинные строки параметров. Если нет
-E или —encoding
задана опция, initdb пытается
определить подходящую кодировку для использования на основе указанного или
языковой стандарт по умолчанию.
Вы можете указать нестандартную кодировку при создании базы данных.
время, при условии, что кодировка совместима с выбранной
язык:
createdb -E EUC_KR -T template0 --lc-collate = ko_KR.euckr --lc-ctype = ko_KR.euckr корейский
Это создаст базу данных с именем korean, которая использует набор символов EUC_KR и локаль ko_KR.
Другой способ добиться этого — использовать эту команду SQL:
СОЗДАТЬ БАЗУ ДАННЫХ корейский С КОДИРОВАНИЕМ 'EUC_KR' LC_COLLATE = 'ko_KR.euckr' LC_CTYPE = 'ko_KR.euckr 'TEMPLATE = template0;
Обратите внимание, что приведенные выше команды определяют копирование базы данных template0. При копировании любой другой базы данных,
настройки кодировки и локали не могут быть изменены по сравнению с
исходной базы данных, поскольку это может привести к повреждению данных. Для
дополнительную информацию см. в разделе
21.3.
Кодировка для базы данных хранится в системном каталоге.
pg_database. Вы можете увидеть это, используя
параметр psql -l или
команда \ l.
$ psql -l Список баз данных Имя | Владелец | Кодирование | Сортировка | Ctype | Привилегии доступа ----------- + ---------- + ----------- + ------------- + - ------------ + ------------------------------------- clocaledb | хлиннака | SQL_ASCII | C | C | englishdb | хлиннака | UTF8 | en_GB.UTF8 | en_GB.UTF8 | японский | хлиннака | UTF8 | ja_JP.UTF8 | ja_JP.UTF8 | корейский | хлиннака | EUC_KR | ko_KR.euckr | ko_KR.euckr | postgres | хлиннака | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | template0 | хлиннака | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {= c / hlinnaka, hlinnaka = CTc / hlinnaka} template1 | хлиннака | UTF8 | fi_FI.UTF8 | fi_FI.UTF8 | {= c / hlinnaka, hlinnaka = CTc / hlinnaka} (7 рядов)
Важно: В большинстве современных операционных систем PostgreSQL может определить, какой набор символов
подразумевается настройкой LC_CTYPE, и это
заставит использовать только соответствующую кодировку базы данных.На
старые системы, вы несете ответственность за использование
кодировка, ожидаемая выбранной вами локалью. Ошибка в
эта область может привести к странному поведению зависящего от локали
такие операции, как сортировка.PostgreSQL позволит
суперпользователи для создания баз данных с кодировкой SQL_ASCII, даже если LC_CTYPE не C или
POSIX. Как отмечалось выше, SQL_ASCII не требует, чтобы данные, хранящиеся в
база данных имеет какую-либо конкретную кодировку, поэтому этот выбор ставит
риски ненадлежащего поведения, зависящего от местных условий.Используя эту комбинацию
настройки устарели и когда-нибудь могут быть полностью запрещены.
PostgreSQL поддерживает автоматическую
преобразование набора символов между сервером и клиентом наверняка
комбинации наборов символов. Информация о преобразовании хранится в
системный каталог pg_conversion.
PostgreSQL поставляется с некоторыми
предопределенные преобразования, как показано в Таблице 22-2. Ты
может создать новое преобразование с помощью команды SQL CREATE CONVERSION.
Таблица 22-2. Преобразование набора символов клиент / сервер
Набор символов сервера | Доступные наборы символов клиента |
---|---|
BIG5 | не поддерживается в качестве сервера кодировка |
EUC_CN | EUC_CN, MULE_INTERNAL, UTF8 |
EUC_JP | EUC_JP, MULE_INTERNAL, SJIS, UTF8 |
EUC_JIS_2004 | EUC_JIS_2004, SHIFT_JIS_2004, UTF8 |
EUC_KR | EUC_KR, MULE_INTERNAL, UTF8 |
EUC_TW | EUC_TW, BIG5, MULE_INTERNAL, UTF8 |
ГБ18030 | не поддерживается в качестве сервера кодировка |
ГБК | не поддерживается в качестве сервера кодировка |
ISO_8859_5 | ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, WIN866, WIN1251 |
ISO_8859_6 | ISO_8859_6, UTF8 |
ISO_8859_7 | ISO_8859_7, UTF8 |
ISO_8859_8 | ISO_8859_8, UTF8 |
JOHAB | не поддерживается в качестве сервера кодировка |
KOI8R | KOI8R, ISO_8859_5, MULE_INTERNAL, UTF8, WIN866, WIN1251 |
КОИ8У | КОИ8У, UTF8 |
ЛАТИН 1 | LATIN1, MULE_INTERNAL, UTF8 |
ЛАТИН 2 | LATIN2, MULE_INTERNAL, UTF8, WIN1250 |
ЛАТИН 3 | LATIN3, MULE_INTERNAL, UTF8 |
ЛАТИН 4 | LATIN4, MULE_INTERNAL, UTF8 |
LATIN5 | LATIN5, UTF8 |
LATIN6 | LATIN6, UTF8 |
LATIN7 | LATIN7, UTF8 |
ЛАТИН 8 | LATIN8, UTF8 |
ЛАТИН 9 | LATIN9, UTF8 |
ЛАТИН 10 | LATIN10, UTF8 |
MULE_INTERNAL | MULE_INTERNAL, BIG5, EUC_CN, EUC_JP, EUC_KR, EUC_TW, ISO_8859_5, KOI8R, LATIN1 в LATIN4, SJIS, WIN866, WIN1250, WIN1251 |
SJIS | не поддерживается в качестве сервера кодировка |
SHIFT_JIS_2004 | не поддерживается в качестве сервера кодировка |
SQL_ASCII | любой (конвертации не будет выполнено) |
UHC | не поддерживается в качестве сервера кодировка |
UTF8 | все поддерживаются кодировки |
WIN866 | WIN866, ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, WIN1251 |
WIN874 | WIN874, UTF8 |
WIN1250 | WIN1250, LATIN2, MULE_INTERNAL, UTF8 |
WIN1251 | WIN1251, ISO_8859_5, KOI8R, MULE_INTERNAL, UTF8, WIN866 |
WIN1252 | WIN1252, UTF8 |
WIN1253 | WIN1253, UTF8 |
WIN1254 | WIN1254, UTF8 |
WIN1255 | WIN1255, UTF8 |
WIN1256 | WIN1256, UTF8 |
WIN1257 | WIN1257, UTF8 |
WIN1258 | WIN1258, UTF8 |
Чтобы включить автоматическое преобразование набора символов, вы должны указать
PostgreSQL набор символов
(кодировка), которую вы хотели бы использовать в клиенте.Есть несколько
способов добиться этого:
Использование команды \ encoding в
psql. \ encoding позволяет изменять кодировку клиента на
муха. Например, чтобы изменить кодировку на SJIS, введите:\ кодировка SJIS
libpq (Раздел 31.10) имеет функции для управления
клиентская кодировка.Использование SET client_encoding TO. Параметр
кодирование клиента может быть выполнено с помощью этой команды SQL:УСТАНОВИТЬ CLIENT_ENCODING TO 'значение';
Также вы можете использовать стандартный синтаксис SQL SET
ИМЕНА для этого:УСТАНОВИТЬ ИМЕНА 'значение';
Для запроса текущей клиентской кодировки:
ПОКАЗАТЬ client_encoding;
Для возврата к кодировке по умолчанию:
СБРОС client_encoding;
Использование PGCLIENTENCODING.Если
переменная среды PGCLIENTENCODING равна
определена в клиентской среде, эта клиентская кодировка
автоматически выбирается при подключении к серверу.
(Впоследствии это можно изменить с помощью любого из других методов.
упомянуто выше.)Использование переменной конфигурации client_encoding.
Если установлена переменная client_encoding,
эта клиентская кодировка выбирается автоматически при подключении к
сервер сделан. (Впоследствии это может быть отменено с помощью любого
других методов, упомянутых выше.)
Если преобразование определенного символа невозможно —
предположим, вы выбрали EUC_JP для сервера
и LATIN1 для клиента, а некоторые
Возвращаются японские символы, которые не имеют представления
в LATIN1 — сообщается об ошибке.
Если набор символов клиента определен как SQL_ASCII, преобразование кодировки отключено,
независимо от набора символов сервера. Как и в случае с сервером,
использование SQL_ASCII неразумно, если вы не
работа с данными в формате ASCII.
Это хорошие источники для начала изучения различных видов
системы кодирования.
- CJKV Обработка информации: китайский,
Вычислительная техника в Японии, Корее и Вьетнаме Содержит подробные объяснения EUC_JP, EUC_CN, EUC_KR, EUC_TW.
- http://www.unicode.org/
Веб-сайт Консорциума Unicode.
- RFC 3629
UTF-8 (8-битный UCS / Unicode
Формат преобразования) определяется здесь.
Модуль ngx_http_charset_module
Модуль ngx_http_charset_module
Модуль ngx_http_charset_module
добавляет указанный
charset в поле заголовка ответа Content-Type.
Кроме того, модуль может конвертировать данные из одной кодировки в другую,
с некоторыми ограничениями:
- конвертация осуществляется в одну сторону — от сервера к клиенту,
- могут быть преобразованы только однобайтовые кодировки
- или однобайтовые кодировки в / из UTF-8.
Пример конфигурации
включить conf / koi-win; кодировка windows-1251; source_charset koi8-r;
Директивы
Синтаксис: | кодировка |
---|---|
По умолчанию: | charset off; |
Контекст: | http , server , location , if in location |
Добавляет указанную кодировку в Content-Type.
поле заголовка ответа.Если эта кодировка отличается от указанной
в директиве source_charset выполняется преобразование.
Параметр off
отменяет добавление кодировки.
в поле заголовка ответа Content-Type.
Кодировку можно определить с помощью переменной:
charset $ charset;
В таком случае должны присутствовать все возможные значения переменной.
в конфигурации хотя бы один раз в виде
charset_map, charset или
source_charset директивы.Для utf-8
, windows-1251
и
koi8-r
кодировки, достаточно включить файлы
conf / koi-win
, conf / koi-utf
и
conf / win-utf
в конфигурацию.
Для других кодировок просто создание фиктивной таблицы преобразования работает,
Например:
charset_map iso-8859-5 _ {}
Кроме того, кодировку можно установить в
Поле заголовка ответа «X-Accel-Charset».
Эту возможность можно отключить с помощью
proxy_ignore_headers,
fastcgi_ignore_headers,
uwsgi_ignore_headers,
scgi_ignore_headers,
а также
grpc_ignore_headers
директивы.
Синтаксис: | charset_map |
---|---|
По умолчанию: | — |
Контекст: | http |
Описывает таблицу преобразования из одной кодировки в другую.Таблица обратного преобразования строится с использованием тех же данных.
Коды символов даны в шестнадцатеричном формате.
Отсутствующие символы в диапазоне 80-FF заменяются на «?
».
При преобразовании из UTF-8 символы отсутствуют в однобайтовой кодировке.
заменяются на « & # XXXX;
».
Пример:
charset_map koi8-r windows-1251 { C0 FE; # маленький ю C1 E0; # маленький а C2 E1; # маленький б C3 F6; # small ts ... }
При описании таблицы преобразования в UTF-8 коды для кодировки UTF-8 должны
быть приведенным во втором столбце, например:
charset_map koi8-r utf-8 { C0 D18E; # маленький ю C1 D0B0; # маленький а C2 D0B1; # маленький б C3 D186; # small ts ... }
Полные таблицы преобразования с koi8-r
на
windows-1251
, а от koi8-r
и
windows-1251
до utf-8
представлены в файлах раздачи conf / koi-win
,
conf / koi-utf
и conf / win-utf
.
Синтаксис: | charset_types |
---|---|
По умолчанию: | charset_types текст / HTML-текст / XML-текст / обычный текст / vnd.wap.wml приложение / javascript приложение / rss + xml; |
Контекст: | http , сервер , расположение |
Эта директива появилась в версии 0.7.9.
Включает обработку модуля в ответах с указанными типами MIME
в дополнение к « text / html
».
Специальное значение « *
» соответствует любому типу MIME (0.8.29).
До версии 1.5.4 использовалось «
application / x-javascript
».
в качестве типа MIME по умолчанию вместо «application / javascript
».
Синтаксис: | override_charset |
---|---|
По умолчанию: | override_charset off; |
Контекст: | http , server , location , if in location |
Определяет, нужно ли выполнять преобразование ответов
получено от прокси-сервера или сервера FastCGI / uwsgi / SCGI / gRPC
когда ответы уже содержат кодировку в «Content-Type»
поле заголовка ответа.Если преобразование включено, кодировка указана в полученном
ответ используется как кодировка источника.
Следует отметить, что если ответ получен в подзапросе
затем преобразование из кодировки ответа в кодировку основного запроса
выполняется всегда, независимо от значенияoverride_charset
установка директивы.
Синтаксис: | source_charset |
---|---|
По умолчанию: | — |
Контекст: | http , server , location , if in location |
Определяет исходную кодировку ответа.Если эта кодировка отличается от указанной
в директиве charset выполняется преобразование.
Таблица сравнения символов
в Windows-1252, ISO-8859-1, ISO-8859-15
Кодировки символов ISO-8859-1, ISO-8859-15 и Windows-1252 очень похожи, и их легко спутать. Это приводит к нескольким типичным проблемам.
Следующая диаграмма показывает различия между этими кодировками и полезна для отладки связанных проблем.
ISO-8859-1 vs.Окна-1252
ISO-8859-1 (также называемый Latin-1) идентичен Windows-1252 (также называемый CP1252), за исключением кодовых точек 128-159 (0x80-0x9F).
ISO-8859-1 назначает несколько управляющих кодов в этом диапазоне. Windows-1252 имеет несколько символов, пунктуацию, арифметику и бизнес.
символы, присвоенные этим кодовым точкам.
Типичные проблемы
- Неверная маркировка текста, закодированного в Windows-1252 как ISO-8859-1, а затем преобразование из ISO-8859-1 в Unicode или другие кодировки приводит к появлению символов
в диапазоне 128-159 теряться.Они преобразуются, как если бы они были управляющими кодами, и обычно отображаются в виде белого пространства, специального вопросительного знака,
или квадрат, показывающий 4 шестнадцатеричных цифры кодовой точки. - HTML и XML используют кодовые точки Unicode в качестве значений в ссылках на числовые символы (NCR). Ссылки на числовые символы — это escape-символы
записывается как & # dddd; или & # xhhhh; где десятичные или шестнадцатеричные значения являются кодовыми точками Unicode.Поскольку первые 256 символов в Юникоде
идентичны символам в ISO-8859-1, люди привыкают использовать знакомый им кодовый знак для создания NCR.
Однако для символов в диапазоне 128–159 в Windows-1252 это неправильные значения. Например, евро (€)
в кодовой точке 0x80 в Windows-1252, но в Unicode это U + 20AC.
& # x80; является NCR для контрольного кода и не будет отображаться как евро. Правильный NCR — & # x20AC ;.
Использование шрифта ISO-8859-1, который не имеет правильных глифов для символов Windows-1252
приведет к неправильному отображению символов.
В сравнительной таблице ниже показаны кодовые точки Unicode, связанные с Windows-1252.
символы в диапазоне 128-159.
ISO-8859-1 в сравнении с ISO-8859-15
Эти 2 кодировки идентичны, за исключением 8 кодовых точек, что вызывает путаницу между ними, а также с Windows-1252.
Для получения дополнительной информации о ISO-8859-15,
см. Сравнение ISO-8859-1 и ISO-8859-15.
Таблица сравнения
Вот символы в диапазоне 128-159 в Windows 1252 с их кодовыми точками Unicode,
Значения байтов UTF-8 и кодовые точки ISO-8859-15, если они отличаются от ISO-8859-1.
Примечание по терминологии:
- NCR = Ссылка на цифровые символы
- CER = Ссылка на сущность символа
- CP1252 = Windows-1252
Кодовый пункт | UTF-8 байт | NCR * | Персонаж | CER * или NCR * | Имя персонажа | |||||
---|---|---|---|---|---|---|---|---|---|---|
CP1252 * | ISO 8859-15 | Юникод | ||||||||
(декабрь) | (шестигранник) | (шестигранник) | (шестигранник) | # 1 | # 2 | # 3 | (декабрь) | (шестигранник) | ||
128 | 80 | A4 | 20AC | E2 | 82 | AC | & # 8364; | € | и евро; | Знак евро |
129 | 81 | НЕ НАЗНАЧЕН | ||||||||
130 | 82 | 201A | E2 | 80 | 9A | & # 8218; | ‚ | & sbquo; | Одиночный малый 9 кавычки | |
131 | 83 | 192 | C6 | 92 | & # 402; | ƒ | & # x192; | Строчная латинская буква F с крючком | ||
132 | 84 | 201E | E2 | 80 | 9E | & # 8222; | „ | & bdquo; | Двойной Low-9 Котировальный знак | |
133 | 85 | 2026 | E2 | 80 | A6 | & # 8230; | … | & hellip; | Горизонтальное многоточие | |
134 | 86 | 2020 | E2 | 80 | A0 | & # 8224; | † | & кинжал; | Кинжал | |
135 | 87 | 2021 | E2 | 80 | A1 | & # 8225; | ‡ | и кинжал; | Двойной кинжал | |
136 | 88 | 2C6 | CB | 86 | & # 710; | ˆ | & circ; | Буква-модификатор Circumflex Accent | ||
137 | 89 | 2030 | E2 | 80 | B0 | & # 8240; | ‰ | & permil; | Знак промилле | |
138 | 8A | A6 | 160 | C5 | A0 | & # 352; | Š | и Скарон; | Латинская заглавная буква S с кароном | |
139 | 8Б | 2039 | E2 | 80 | B9 | & # 8249; | ‹ | & lsaquo; | Кавычка с одинарным левым углом | |
140 | 8C | г. до н.э. | 152 | C5 | 92 | & # 338; | Œ | и OElig; | Лигатура латинской заглавной буквы OE | |
141 | 8D | НЕ НАЗНАЧЕН | ||||||||
142 | 8E | B4 | 17D | C5 | BD | & # 381; | Ž | & # x17D; | Латинская заглавная буква Z с кароном | |
143 | 8F | НЕ НАЗНАЧЕН | ||||||||
144 | 90 | НЕ НАЗНАЧЕН | ||||||||
145 | 91 | 2018 | E2 | 80 | 98 | & # 8216; | ‘ | & lsquo; | Одинарный кавычка левый | |
146 | 92 | 2019 | E2 | 80 | 99 | & # 8217; | ’ | & rsquo; | Одинарный кавычка правый | |
147 | 93 | 201C | E2 | 80 | 9C | & # 8220; | “ | & ldquo; | Двойные кавычки слева | |
148 | 94 | 201D | E2 | 80 | 9D | & # 8221; | ” | & rdquo; | Двойные кавычки справа | |
149 | 95 | 2022 | E2 | 80 | A2 | & # 8226; | • | и бык; | Пуля | |
150 | 96 | 2013 | E2 | 80 | 93 | & # 8211; | – | & ndash; | En Dash | |
151 | 97 | 2014 | E2 | 80 | 94 | & # 8212; | – | & mdash; | Em Dash | |
152 | 98 | 2DC | CB | 9C | & # 732; | ˜ | & тильда; | Маленькая тильда | ||
153 | 99 | 2122 | E2 | 84 | A2 | & # 8482; | ™ | и торговля; | Знак товарного знака | |
154 | 9A | A8 | 161 | C5 | A1 | & # 353; | š | & scaron; | Строчная латинская буква S с кароном | |
155 | 9Б | 203A | E2 | 80 | BA | & # 8250; | › | & rsaquo; | Одинарный угловой кавычочный знак, указывающий вправо | |
156 | 9C | BD | 153 | C5 | 93 | & # 339; | œ | & oelig; | Строчная латинская лигатура OE | |
157 | 9D | НЕ НАЗНАЧЕН | ||||||||
158 | 9E | B8 | 17E | C5 | BE | & # 382; | ž | & # x17E; | Строчная латинская буква Z с кароном | |
159 | 9F | BE | 178 | C5 | B8 | & # 376; | Ÿ | и Yuml; | Латинская заглавная буква Y с диэрезисом |
Дополнительные ссылки
Авторские права © 2010, 2011 Tex Texin.Все права защищены.
вернуться наверх
Кодовая страница Windows 1251
Кодовая страница Windows 1251
Эта страница содержит таблицу кодовой страницы Microsoft Windows 1251 для русского и
некоторые другие языки, написанные кириллицей. CP1251
символы включены буквально в скобки слева от каждой строки.
Если вы сохраните эту страницу, у вас будет таблица CP1251, которую вы можете использовать для тестирования вашего
конфигурация набора символов эмулятора терминала.
Кодовая страница Microsoft Windows 1251 char dec col / row oct hex описание [] 128 08/00 200 80 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DJE [] 129 08/01 201 81 Кирилическая прописная буква GJE [] 130 08/02 202 82 НИЗКАЯ 9 ОДИНОЧНАЯ ЦИТАТА [] 131 08/03 203 83 Кирилическая строчная буква GJE [] 132 08/04 204 84 НИЗКАЯ 9 ДВОЙНАЯ ЦИТАТА [] 133 08/05 205 85 ЭЛЛИПСИС [] 134 08/06 206 86 КИНЖАЛ [] 135 08/07 207 87 ДВОЙНОЙ КИНЖАЛ [] 136 08/08 210 88 ЕВРО ЗНАК [] 137 08/09 211 89 ЗА МИЛ ЗНАК [] 138 08/10 212 8A ЗАГЛАВНАЯ БУКВА LJE [] 139 08/11 213 8B ЛЕВЫЙ КРОНШТЕЙН ОДИНОЧНОЙ ЦИТАТЫ [] 140 08/12 214 8C КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА NJE [] 141 08/13 215 8D КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА KJE [] 142 08/14 216 8E КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSHE [] 143 15.08 217 8F КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДЖЕ [] 144 09/00 220 90 КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА DJE [] 145 09/01 221 91 ВЫСОКАЯ 6 ОДИНОЧНАЯ ЦИТАТА [] 146 09/02 222 92 ВЫСОКАЯ 9 ОДИНОЧНАЯ ЦИТАТА [] 147 09/03 223 93 ВЫСОКАЯ 6 ДВОЙНАЯ ЦИТАТА [] 148 09/04 224 94 ВЫСОКАЯ 9 ДВОЙНАЯ ЦИТАТА [] 149 09/05 225 95 БОЛЬШАЯ ЦЕНТРАЛЬНАЯ ТОЧКА [] 150 09/06 226 96 RU ТИП [] 151 07.09 227 97 EM DASH [] 152 09/08 230 98 (НЕ ОПРЕДЕЛЕННО) [] 153 09/09 231 99 ТОВАРНЫЙ ЗНАК [] 154 09/10 232 9A СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА LJE [] 155 09/11 233 9B ПРАВЫЙ КРОНШТЕЙН ДЛЯ ОДИНОЧНОЙ ЦИТАТЫ [] 156 09/12 234 9C КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА NJE [] 157 09/13 235 9D КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА KJE [] 158 14.09 236 9E КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSHE [] 159 15.09 237 9F КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДЖЕ [] 160 10/00 240 A0 НЕПРЕРЫВНОЕ ПРОСТРАНСТВО [] 161 10/01 241 A1 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА КОРОТКАЯ U [] 162 10/02 242 A2 КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА КОРОТКАЯ U [] 163 10/03 243 A3 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА JE [] 164 10/04 244 ЗНАК ВАЛЮТЫ A4 [] 165 10/05 245 A5 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА GHE С ПОВОРОТОМ [] 166 10/06 246 A6 СЛОМАННЫЙ БАР [] 167 10/07 247 A7 ЗНАК ПАРАГРАФА [] 168 10/08 250 A8 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА IO [] 169 10/09 251 A9 ЗНАК АВТОРСКОГО ПРАВА [] 170 10/10 252 AA КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА УКРАИНСКИЙ IE [] 171 10/11 253 AB ЛЕВЫЙ УГЛОВОЙ ЦИТАТНЫЙ ЗНАК [] 172 10/12 254 AC NOT SIGN [] 173 10/13 255 AD МЯГКИЙ ДЕФИС [] 174 10/14 256 AE ЗНАК ЗАРЕГИСТРИРОВАННОЙ ТОРГОВОЙ МАРКИ [] 175 10/15 257 AF КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YI [] 176 11/00 260 B0 ЗНАК, КОЛЬЦО ВЫШЕ [] 177 11/01 261 B1 ЗНАК ПЛЮС-МИНУС [] 178 11/02 262 B2 Кирилическая прописная буква БЕЛОРУССИЯ-УКРАИНСКИЙ ЯЗЫК I [] 179 11/03 263 B3 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА БЕЛОРУССИЯ-УКРАИНСКИЙ ЯЗЫК I [] 180 11/04 264 B4 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GHE С ПОВОРОТОМ [] 181 11/05 265 B5 МИКРОЗНАК [] 182 06/11 266 B6 ЗНАК ПИЛКРОУ [] 183 07/11 267 B7 СРЕДНЯЯ ТОЧКА [] 184 08/11 270 B8 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА IO [] 185 11/09 271 B9 ЗНАК NUMERO [] 186 11/10 272 BA СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА УКРАИНСКИЙ IE [] 187 11/11 273 BB ЦИТАТНЫЙ ЗНАК ПРАВЫЙ УГОЛ [] 188 11/12 274 до н.э. Кирилическая строчная буква JE. [] 189 11/13 275 BD КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА DZE [] 190 14/11 276 БЫТЬ СТРОЧНОЙ КИРИЛИЧЕСКОЙ БУКВОЙ DZE [] 191 15/11 277 BF КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА YI [] 192 12/00 300 C0 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА A [] 193 01/12 301 C1 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА БЫТЬ [] 194 02/12 302 C2 ЗАГЛАВНАЯ БУКВА VE [] 195 12/03 303 C3 ЗАГЛАВНАЯ БУКВА GHE [] 196 12/04 304 C4 ЗАГЛАВНАЯ БУКВА DE [] 197 12/05 305 C5 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА IE [] 198 12/06 306 C6 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ZHE [] 199 12/07 307 C7 ЗАГЛАВНАЯ БУКВА ZE [] 200 12/08 310 C8 ЗАГЛАВНАЯ БУКВА I [] 201 12/09 311 C9 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА КОРОТКАЯ I [] 202 12/10 312 CA КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА KA [] 203 12/11 313 CB КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EL [] 204 12/12 314 CC КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EM [] 205 12/13 315 CD КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EN [] 206 12/14 316 CE КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА O [] 207 15/12 317 CF КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА PE [] 208 13/00 320 D0 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ER [] 209 13/01 321 D1 ЗАГЛАВНАЯ БУКВА ES [] 210 13/02 322 D2 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TE [] 211 13/03 323 D3 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА U [] 212 13/04 324 D4 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА EF [] 213 13/05 325 D5 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА HA [] 214 13/06 326 D6 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА TSE [] 215 13/07 327 D7 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА CHE [] 216 13/08 330 D8 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА SHA [] 217 13/09 331 D9 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЩА [] 218 13/10 332 DA КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ЖЕСТКИЙ ЗНАК [] 219 13/11 333 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА ДБ ЕРУ [] 220 13/12 334 DC КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА МЯГКИЙ ЗНАК [] 221 13/13 335 DD КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА E [] 222 13/14 336 КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YU [] 223 13/15 337 DF КИРИЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА YA [] 224 14/00 340 E0 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА A [] 225 14/01 341 E1 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА BE [] 226 14/02 342 E2 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА VE [] 227 14/03 343 E3 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА GHE [] 228 14/04 344 E4 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА DE [] 229 14/05 345 E5 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА IE [] 230 14/06 346 E6 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ZHE [] 231 14/07 347 E7 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ZE [] 232 14/08 350 E8 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА I [] 233 14/09 351 E9 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА КОРОТКАЯ I [] 234 14/10 352 EA СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА KA [] 235 14/11 353 EB КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА EL [] 236 14/12 354 EC КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА EM [] 237 14/13 355 ED Кирилическая строчная буква EN [] 238 14/14 356 EE СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА O [] 239 14/15 357 EF КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА PE [] 240 15/00 360 F0 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ER [] 241 15/01 361 F1 КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА ES [] 242 15/02 362 F2 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TE [] 243 15/03 363 F3 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА U [] 244 15/04 364 F4 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА EF [] 245 15/05 365 F5 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА HA [] 246 15/06 366 F6 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА TSE [] 247 15/07 367 F7 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА CHE [] 248 15/08 370 F8 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА CHA [] 249 15/09 371 F9 СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА ЩА [] 250 15/10 372 FA КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА ЖЕСТКИЙ ЗНАК [] 251 15/11 373 FB КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА YERU [] 252 15/12 374 FC КИРИЛИЧЕСКАЯ СТРОЧНАЯ БУКВА МЯГКИЙ ЗНАК [] 253 15/13 375 FD СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА E [] 254 15/14 376 FE СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YU [] 255 15/15 377 FF СТРОЧНАЯ КИРИЛИЧЕСКАЯ БУКВА YA
Франк да Круз,
Проект Кермит,
Колумбийский университет,
Март 2003 г.
i18n: списки наборов символов
i18n: списки наборов символов
Интернационализация
Предупреждение: Эта страница больше не поддерживается, и содержащаяся на ней информация устарела и неверна!
Вместо этого вы можете попробовать перейти по следующей ссылке:
Наборы символов, поддерживаемые популярными веб-приложениями (необходимо пересмотреть, чтобы отсеять незарегистрированный материал)
Tango Creator, Tango browser 3.0 (Алис Технологии) | Netscape Navigator 3.0 / 4.0 (Netscape) | Microsoft Internet Explorer 5 (Microsoft) | |
---|---|---|---|
Арабский | |||
iso-8859-6 / asmo-708 | × | – | × |
x-mac-арабский | – | – | × |
окна-1256 | × | – | × |
Балтика | |||
iso-8859-4 | – | – | × |
окна-1257 | – | – | × |
Центральноевропейская | |||
iso-8859-2 / latin2 | × | × | × |
x-mac-ce | – | × ¹ | × |
окна-1250 | × | × | × |
Китайский упрощенный | |||
euc-cn | – | – | × |
гб2312 | × | × | × |
Гц-ГБ-2312 | × | × | × |
x-mac-chinesesimp | – | – | × |
сп-936 | × | – | – |
Китайский традиционный | |||
большой5 | × | × | × |
x-mac-chinesetrad | – | – | × |
СП-950 | × | – | – |
cp-932 | × | – | – |
euc-tw | – | × | – |
Кириллица | |||
iso-8859-5 | × | × | × |
кои8-р | × | × | × |
кои8 | × | – | × |
x-mac-кириллица | – | × ¹ | × |
окна-1251 | × | × | × |
Греческий | |||
iso-8859-7 | × | × | × |
x-mac-греческий | – | × ¹ | × |
окна-1253 | × | × | × |
Еврейский | |||
iso-8859-8 * | × | – | × |
iso-8859-8-i | × | – | × |
x-mac-hebrew | – | – | × |
окна-1255 | × | – | × |
Исландский | |||
x-mac исландский | – | – | × |
Японский | |||
euc-jp | × | × | × |
iso-2022-jp | × | × | × |
x-mac-японский | – | – | × |
shift_jis | × | × | × |
Корейский | |||
ks_c_5601-1987 / ksc5601 | × | × | × |
euc-kr | – | × | × |
iso-2022-kr | × | × | × |
x-mac-корейский | – | – | × |
Латиница 9 | |||
iso-8859-15 / latin9 | – | – | × |
Мальтийский | |||
iso-8859-3 / latin3 | – | – | × |
Тайский | |||
окна-874 / тис-620 | × | – | × |
Турецкий | |||
iso-8859-9 / latin5 | – | × | × |
x-mac-турецкий | – | × ¹ | × |
окна-1254 | – | – | × |
Юникод | |||
utf-7 | × | × | × |
utf-8 | × | × | × |
iso-10646-ucs-2 | × | × ² | × |
us-ascii | × | × | × |
Вьетнамский | |||
окна-1258 | – | – | × |
Западноевропейская | |||
iso-8859-1 / latin1 | × | × | × |
x-mac-roman | – | × ¹ | – |
Macintosh | – | – | × |
окна-1252 | × | – | × |
Другое | |||
isiri-3342 | × | – | – |
¹ = версия для Macintosh.² = только Navigator 4.0. * = запрещено в HTML 4.0 и
новее.
(Эта таблица не является официальной. Она может быть неверной. Ее цель — просто указать наиболее широко поддерживаемые кодировки.) Для Microsoft см.
также собственная (более длинная) таблица Microsoft.
Другие браузеры
- Опера 3.21
- Opera 3.21 не может переключаться между кодировками. Вы можете установить одну кодировку в диалоговом окне настроек.
- Рысь 2,7
- Lynx распознает кодировку, но может отображать документы только в кодировке, совместимой с кодировкой терминала, на котором она запущена.
Мартин Дюрст, ведущий специалист I18N
Веб-мастер
Последнее обновление $ Дата:
21.12.2001 08:33:46 $
Инструмент кодирования / декодирования. Анализируйте проблемы и ошибки кодировки символов.
Что такое кодовая страница?
Кодовая страница — это еще одно название для кодировки символов. Он состоит из таблицы значений
который описывает набор символов для определенного языка.
Что такое кодировка символов?
Кодировка символов — это процесс кодирования набора символов в соответствии с системой кодирования.Этот процесс обычно объединяет числа с символами для кодирования информации, которая может использоваться компьютером.
Зачем нужно кодировать символы?
Поскольку компьютеры могут интерпретировать только необработанные нули и единицы (например, 01100110), слова и предложения необходимо кодировать при вводе информации в компьютер. Символы в этих словах и предложениях сгруппированы в набор символов, который компьютер может распознать.
Что такое кодировки символов?
Кодировки символов позволяют нам понять кодировку, используемую в компьютерах.Из-за наличия множества кодировок символов могут возникать ошибки при кодировании с помощью одной кодировки символов и декодировании с помощью другой. Вышеупомянутый инструмент можно использовать для моделирования, если возникнут какие-либо ошибки при кодировании с любой кодировкой символов и декодировании с помощью другой.
Типы кодировок символов
Существует множество кодировок, которые можно использовать для кодирования или декодирования строки символов, включая UTF-8, ASCII и ISO 9959-1.
Примеры популярных кодировок символов:
- ASCII: Американский стандартный код для обмена информацией
- ANSI: Американский национальный институт стандартов
- Unicode (внутренние текстовые коды, используемые операционными системами)
- UTF -8 (формат преобразования Unicode, в котором для представления символов используется 1 байт)
- UTF-16 (формат преобразования Unicode, который использует 2 байта для представления символов)
- UTF-32 (формат преобразования Unicode, который использует 4 байта для представления символов)
Хотя это, безусловно, популярные кодировки, которые используются, бывают случаи, когда строки кода кодируются кодировками, которые не так широко используются, например x-IA5-Norgwegian или DOS-720.Это может вызвать путаницу и возможные ошибки, поэтому важно понимать, как уменьшить эти ошибки, предварительно моделируя их с помощью инструмента кодирования / декодирования символов String Functions.
Как использовать инструмент кодирования / декодирования символов
Чтобы использовать инструмент кодирования / декодирования символов String Functions, начните с ввода строки символов в текстовое поле. Затем выберите из раскрывающихся меню, какую систему кодирования и декодирования вы хотите использовать для моделирования.
Посмотрите наш индекс кодировки символов
Для просмотра таблиц кодировки от одной кодировки к другой используйте наш индекс таблицы кодировки символов.
Политика конфиденциальности
Карта сайта
Руководство пользователя Глава 6: Поддержка Unicode и не-ASCII
Глава 6. Поддержка Unicode и не-ASCII
6.1 Формат для печати в кавычках
6.2 Символы, отличные от ASCII в заголовках
6.3 Unicode и UTF-8
6.4 Поддержка UTF-8 в AspEmail
6.5 Допустимые значения CharSet
6.1 формат цитируемой печати
AspEmail может отправлять сообщения в алфавитах, отличных от US-ASCII.
за счет поддержки формата «Цитата для печати». Этот формат описан в
RFC-2045. Идея формата заключается в том, что символы с кодами меньше 33 и больше
чем 126 представлены знаком «=», за которым следует двузначное шестнадцатеричное представление.
ценности персонажа. Например, десятичное значение 12 (подача формы US-ASCII)
представлен как = 0C , а десятичное значение 61 (US-ASCII «=») может быть представлено
как = 3D .AspEmail кодирует тело сообщения в формате Quoted-Printable
автоматически, если для свойства ContentTransferEncoding установлено значение
строка «Quoted-Printable» (регистр букв не имеет значения).
Вы также можете установить свойство Charset
к соответствующему набору символов. Следующий фрагмент кода отправляет
сообщение на русском языке:<% @ codepage = 1251%>
<%
…
Почта.Кодировка = «Windows-1251»
Mail.Body = «-«.
Mail.ContentTransferEncoding = «Quoted-Printable»
%>Директива <% @ codepage = 1251%> предписывает
интерпретатор ASP для обработки жестко запрограммированных символов в сценарии
в виде русских символов (1251 — русская кодовая страница). Как результат,
свойство Body получит русскую строку Unicode.
6.2 символа не-ASCII в заголовках
Если вы хотите отправить сообщение с определенными заголовками, такими как Тема: ,
To: или From: , содержащие символы, отличные от US-ASCII, следует использовать
метод Mail.EncodeHeader для кодирования строки символов в соответствии с
RFC 1522. Метод принимает один обязательный параметр, строку заголовка,
и один необязательный параметр, набор символов, который по умолчанию равен « ISO-8859-1 ».Например:<% @ codepage = 1251%>
<%
Mail.Subject = Mail.EncodeHeader («-«, «Windows-1251»)
Mail.FromName = Mail.EncodeHeader («», «Windows-1251»)
Mail.AddAddress «[email protected]», Mail.EncodeHeader («»)
%>
6.3 Юникод и UTF-8
Из MSDN: «Юникод — это 16-битный стандарт кодировки символов фиксированной ширины, который
охватывает практически все символы, обычно используемые на компьютерах сегодня.Сюда входят большинство письменных языков мира, а также издательские персонажи,
математические и технические символы и знаки препинания «.Из Unicode.org: «Компьютеры … хранят буквы и другие символы
присвоение номера каждому. До изобретения Unicode существовало
сотни различных систем кодирования для присвоения этих чисел.
Ни одна кодировка не может содержать достаточно символов …
Unicode предоставляет уникальный номер для каждого символа,
независимо от того, какая платформа, какая программа, на каком языке.«Например, основная латинская буква «А» имеет шестнадцатеричный код 0041 (65), русский
буква имеет код Hex 0416 (1046), а китайский иероглиф
имеет код Hex 32A5 (12965).UTF-8 (формат преобразования Unicode, 8-битная форма кодирования) рекомендуется
формат, который будет использоваться для отправки данных на основе Unicode по сетям, в частности, через Интернет.
UTF-8 представляет значение Unicode как последовательность из 1, 2 или 3 байтов.Символы Юникода в диапазоне от 0000 до 007F кодируются просто как байты.
00 до 7F. Это означает, что файлы и строки, содержащие только 7-битный ASCII
символы имеют одинаковую кодировку как в ASCII, так и в UTF-8.
Следовательно, Unicode 0041 («A») в UTF-8 — это Hex 41.Символы Юникода в диапазоне от 0080 до 07FF кодируются как последовательность из двух байтов.
Например, Unicode 0416 ()
кодируется как Hex D0 96. Кодируются символы Unicode в диапазоне от Hex 0800 до FFFF.
как последовательность из трех байтов.Например, Unicode 32A5 ()
кодируется как Hex E3 8A A5.
6.4 Поддержка UTF-8 в AspEmail
AspEmail 5.0 предлагает полную поддержку UTF-8 как в теле сообщения, так и в заголовках.
Чтобы отправить сообщение в кодировке UTF-8, вы должны установить CharSet
свойство к строке « UTF-8 » (регистр не имеет значения),
и ContentTransferEncoding на « Quoted-Printable ».Вы также должны передать « UTF-8 » в качестве второго аргумента для EncodeHeader .В следующем примере кода демонстрируется использование UTF-8:
<%
‘изменить на адрес вашего собственного SMTP-сервера
strHost = «smtp.myisp.net»‘Включить UTF-8 -> Перевод Unicode для элементов формы
Session.CodePage = 65001 ‘Код UTF-8Если Запрос («Отправить») «» То
Установите Mail = Server.CreateObject («Persits.MailSender»)
‘введите действительный SMTP-хост
Mail.Host = strHostMail.From = «[email protected]» ‘с адреса
Mail.FromName = Mail.EncodeHeader (Запрос («FromName»), «utf-8»)
Mail.AddAddress Request («Кому»)‘тема сообщения
Mail.Subject = Mail.EncodeHeader (Запрос («Тема»), «utf-8»)‘тело сообщения
Mail.Body = Request («Body»)‘Параметры UTF-8
Почта.CharSet = «UTF-8»
Mail.ContentTransferEncoding = «Quoted-Printable»
Mail.Send ‘отправить сообщение
Response.Write «Сообщение отправлено» & Request («To»)
Конец, если
%>
AspEmail: Unicode.asp <ТЕЛО>