Разное

Таблиця символів 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.

Таблица кодов символов Windows-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 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-документах.

Cпециальные (управляющие) символы

Код Описание
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 &#000; Нулевой байт
1 001 0x01 00000001 SOH &#001; Начало заголовка
2 002 0x02 00000010 STX &#002; Начало текста
3 003 0x03 00000011 ETX &#003; Конец «текста»
4 004 0x04 00000100 EOT &#004; конец передачи
5 005 0x05 00000101 ENQ &#005; «Прошу подтверждения!»
6 006 0x06 00000110 ACK &#006; «Подтверждаю!»
7 007 0x07 00000111 BEL \a &#007; Звуковой сигнал – звонок
8 010 0x08 00001000 BS \b &#008; Возврат на один символ (BACKSPACE)
9 011 0x09 00001001 TAB \t &#009; Табуляция
10 012 0x0A 00001010 LF \n &#010; Перевод строки
11 013 0x0B 00001011 VT \v &#011; Вертикальная табуляция
12 014 0x0C 00001100 FF \f &#012; Прогон страницы, новая страница
13 015 0x0D 00001101 CR \r &#013; Возврат каретки
14 016 0x0E 00001110 SO &#014; Переключиться на другую ленту (кодировку)
15 017 0x0F 00001111 SI &#015; Переключиться на исходную ленту (кодировку)
16 020 0x10 00010000 DLE &#016; Экранирование канала данных
17 021 0x11 00010001 DC1 &#017; 1-й символ управления устройством
18 022 0x12 00010010 DC2 &#018; 2-й символ управления устройством
19 023 0x13 00010011 DC3 &#019; 3-й символ управления устройством
20 024 0x14 00010100 DC4 &#020; 4-й символ управления устройством
21 025 0x15 00010101 NAK &#021; «Не подтверждаю!»
22 026 0x16 00010110 SYN &#022; Символ для синхронизации
23 027 0x17 00010111 ETB &#023; Конец текстового блока
24 030 0x18 00011000 CAN &#024; Отмена
25 031 0x19 00011001 EM &#025; Конец носителя
26 032 0x1A 00011010 SUB &#026; Подставить
27 033 0x1B 00011011 ESC \e &#027; Escape (Расширение)
28 034 0x1C 00011100 FS &#028; Разделитель файлов
29 035 0x1D 00011101 GS &#029; Разделитель групп
30 036 0x1E 00011110 RS &#030; Разделитель записей
31 037 0x1F 00011111 US &#031; Разделитель юнитов
127 177 0x7F 01111111 Delete &#127; Символ для удаления (на перфолентах)

2

Печатные символы

































































































DEC OCT HEX BIN Символ HTML код Мнемоника
32 040 0x20 00100000 Пробел &#32;
33 041 0x21 00100001 ! &#33;
34 042 0x22 00100010 « &#34; &quot;
35 043 0x23 00100011 # &#35;
36 044 0x24 00100100 $ &#36;
37 045 0x25 00100101 % &#37;
38 046 0x26 00100110 & &#38; &amp;
39 047 0x27 00100111 &#39; &apos;
40 050 0x28 00101000 ( &#40;
41 051 0x29 00101001 ) &#41;
42 052 0x2A 00101010 * &#42;
43 053 0x2B 00101011 + &#43;
44 054 0x2C 00101100 , &#44;
45 055 0x2D 00101101 &#45;
46 056 0x2E 00101110 . &#46;
47 057 0x2F 00101111 / &#47;
48 060 0x30 00110000 0 &#48;
49 061 0x31 00110001 1 &#49;
50 062 0x32 00110010 2 &#50;
51 063 0x33 00110011 3 &#51;
52 064 0x34 00110100 4 &#52;
53 065 0x35 00110101 5 &#53;
54 066 0x36 00110110 6 &#54;
55 067 0x37 00110111 7 &#55;
56 070 0x38 00111000 8 &#56;
57 071 0x39 00111001 9 &#57;
58 072 0x3A 00111010 : &#58;
59 073 0x3B 00111011 ; &#59;
60 074 0x3C 00111100 < &#60; &lt;
61 075 0x3D 00111101 = &#61;
62 076 0x3E 00111110 > &#62; &gt;
63 077 0x3F 00111111 ? &#63;
64 100 0x40 01000000 @ &#64;
65 101 0x41 01000001 A &#65;
66 102 0x42 01000010 B &#66;
67 103 0x43 01000011 C &#67;
68 104 0x44 01000100 D &#68;
69 105 0x45 01000101 E &#69;
70 106 0x46 01000110 F &#70;
71 107 0x47 01000111 G &#71;
72 110 0x48 01001000 H &#72;
73 111 0x49 01001001 I &#73;
74 112 0x4A 01001010 J &#74;
75 113 0x4B 01001011 K &#75;
76 114 0x4C 01001100 L &#76;
77 115 0x4D 01001101 M &#77;
78 116 0x4E 01001110 N &#78;
79 117 0x4F 01001111 O &#79;
80 120 0x50 01010000 P &#80;
81 121 0x51 01010001 Q &#81;
82 122 0x52 01010010 R &#82;
83 123 0x53 01010011 S &#83;
84 124 0x54 01010100 T &#84;
85 125 0x55 01010101 U &#85;
86 126 0x56 01010110 V &#86;
87 127 0x57 01010111 W &#87;
88 130 0x58 01011000 X &#88;
89 131 0x59 01011001 Y &#89;
90 132 0x5A 01011010 Z &#90;
91 133 0x5B 01011011 [ &#91;
92 134 0x5C 01011100 \ &#92;
93 135 0x5D 01011101 ] &#93;
94 136 0x5E 01011110 ^ &#94;
95 137 0x5F 01011111 _ &#95;
96 140 0x60 01100000 ` &#96;
97 141 0x61 01100001 a &#97;
98 142 0x62 01100010 b &#98;
99 143 0x63 01100011 c &#99;
100 144 0x64 01100100 d &#100;
101 145 0x65 01100101 e &#101;
102 146 0x66 01100110 f &#102;
103 147 0x67 01100111 g &#103;
104 150 0x68 01101000 h &#104;
105 151 0x69 01101001 i &#105;
106 152 0x6A 01101010 j &#106;
107 153 0x6B 01101011 k &#107;
108 154 0x6C 01101100 l &#108;
109 155 0x6D 01101101 m &#109;
110 156 0x6E 01101110 n &#110;
111 157 0x6F 01101111 o &#111;
112 160 0x70 01110000 p &#112;
113 161 0x71 01110001 q &#113;
114 162 0x72 01110010 r &#114;
115 163 0x73 01110011 s &#115;
116 164 0x74 01110100 t &#116;
117 165 0x75 01110101 u &#117;
118 166 0x76 01110110 v &#118;
119 167 0x77 01110111 w &#119;
120 170 0x78 01111000 x &#120;
121 171 0x79 01111001 y &#121;
122 172 0x7A 01111010 z &#122;
123 173 0x7B 01111011 { &#123;
124 174 0x7C 01111100 | &#124;
125 175 0x7D 01111101 } &#125;
126 176 0x7E 01111110 ~ &#126;

3

Расширенные символы ASCII Win-1251 кириллица


































































































































DEC OCT HEX BIN Символ HTML код Мнемоника
128 200 0x80 10000000 Ђ &#128;
129 201 0x81 10000001 Ѓ &#129;
130 202 0x82 10000010 &#130; &sbquo;
131 203 0x83 10000011 ѓ &#131;
132 204 0x84 10000100 &#132; &bdquo;
133 205 0x85 10000101 &#133; &hellip;
134 206 0x86 10000110 &#134; &dagger;
135 207 0x87 10000111 &#135; &Dagger;
136 210 0x88 10001000 &#136; &euro;
137 211 0x89 10001001 &#137; &permil;
138 212 0x8A 10001010 Љ &#138;
139 213 0x8B 10001011 &#139; &lsaquo;
140 214 0x8C 10001100 Њ &#140;
141 215 0x8D 10001101 Ќ &#141;
142 216 0x8E 10001110 Ћ &#142;
143 217 0x8F 10001111 Џ &#143;
144 220 0x90 10010000 Ђ &#144;
145 221 0x91 10010001 &#145; &lsquo;
146 222 0x92 10010010 &#146; &rsquo;
147 223 0x93 10010011 &#147; &ldquo;
148 224 0x94 10010100 &#148; &rdquo;
149 225 0x95 10010101 &#149; &bull;
150 226 0x96 10010110 &#150; &ndash;
151 227 0x97 10010111 &#151; &mdash;
152 230 0x98 10011000 Начало строки &#152;
153 231 0x99 10011001 &#153; &trade;
154 232 0x9A 10011010 љ &#154;
155 233 0x9B 10011011 &#155; &rsaquo;
156 234 0x9C 10011100 њ &#156;
157 235 0x9D 10011101 ќ &#157;
158 236 0x9E 10011110 ћ &#158;
159 237 0x9F 10011111 џ &#159;
160 240 0xA0 10100000 Неразрывный пробел &#160; &nbsp;
161 241 0xA1 10100001 Ў &#161;
162 242 0xA2 10100010 ў &#162;
163 243 0xA3 10100011 Ј &#163;
164 244 0xA4 10100100 ¤ &#164; &curren;
165 245 0xA5 10100101 Ґ &#165;
166 246 0xA6 10100110 ¦ &#166; &brvbar;
167 247 0xA7 10100111 § &#167; &sect;
168 250 0xA8 10101000 Ё &#168;
169 251 0xA9 10101001 © &#169; &copy;
170 252 0xAA 10101010 Є &#170;
171 253 0xAB 10101011 « &#171; &laquo;
172 254 0xAC 10101100 ¬ &#172; &not;
173 255 0xAD 10101101 Мягкий перенос &#173; &shy;
174 256 0xAE 10101110 ® &#174; &reg;
175 257 0xAF 10101111 Ї &#175;
176 260 0xB0 10110000 ° &#176; &deg;
177 261 0xB1 10110001 ± &#177; &plusmn;
178 262 0xB2 10110010 І &#178;
179 263 0xB3 10110011 і &#179;
180 264 0xB4 10110100 ґ &#180;
181 265 0xB5 10110101 µ &#181; &micro;
182 266 0xB6 10110110 &#182; &para;
183 267 0xB7 10110111 · &#183; &middot;
184 270 0xB8 10111000 ё &#184;
185 271 0xB9 10111001 &#185;
186 272 0xBA 10111010 є &#186;
187 273 0xBB 10111011 » &#187; &raquo;
188 274 0xBC 10111100 ј &#188;
189 275 0xBD 10111101 Ѕ &#189;
190 276 0xBE 10111110 ѕ &#190;
191 277 0xBF 10111111 ї &#191;
192 300 0xC0 11000000 А &#192;
193 301 0xC1 11000001 Б &#193;
194 302 0xC2 11000010 В &#194;
195 303 0xC3 11000011 Г &#195;
196 304 0xC4 11000100 Д &#196;
197 305 0xC5 11000101 Е &#197;
198 306 0xC6 11000110 Ж &#198;
199 307 0xC7 11000111 З &#199;
200 310 0xC8 11001000 И &#200;
201 311 0xC9 11001001 Й &#201;
202 312 0xCA 11001010 К &#202;
203 313 0xCB 11001011 Л &#203;
204 314 0xCC 11001100 М &#204;
205 315 0xCD 11001101 Н &#205;
206 316 0xCE 11001110 О &#206;
207 317 0xCF 11001111 П &#207;
208 320 0xD0 11010000 Р &#208;
209 321 0xD1 11010001 С &#209;
210 322 0xD2 11010010 Т &#210;
211 323 0xD3 11010011 У &#211;
212 324 0xD4 11010100 Ф &#212;
213 325 0xD5 11010101 Х &#213;
214 326 0xD6 11010110 Ц &#214;
215 327 0xD7 11010111 Ч &#215;
216 330 0xD8 11011000 Ш &#216;
217 331 0xD9 11011001 Щ &#217;
218 332 0xDA 11011010 Ъ &#218;
219 333 0xDB 11011011 Ы &#219;
220 334 0xDC 11011100 Ь &#220;
221 335 0xDD 11011101 Э &#221;
222 336 0xDE 11011110 Ю &#222;
223 337 0xDF 11011111 Я &#223;
224 340 0xE0 11100000 а &#224;
225 341 0xE1 11100001 б &#225;
226 342 0xE2 11100010 в &#226;
227 343 0xE3 11100011 г &#227;
228 344 0xE4 11100100 д &#228;
229 345 0xE5 11100101 е &#229;
230 346 0xE6 11100110 ж &#230;
231 347 0xE7 11100111 з &#231;
232 350 0xE8 11101000 и &#232;
233 351 0xE9 11101001 й &#233;
234 352 0xEA 11101010 к &#234;
235 353 0xEB 11101011 л &#235;
236 354 0xEC 11101100 м &#236;
237 355 0xED 11101101 н &#237;
238 356 0xEE 11101110 о &#238;
239 357 0xEF 11101111 п &#239;
240 360 0xF0 11110000 р &#240;
241 361 0xF1 11110001 с &#241;
242 362 0xF2 11110010 т &#242;
243 363 0xF3 11110011 у &#243;
244 364 0xF4 11110100 ф &#244;
245 365 0xF5 11110101 х &#245;
246 366 0xF6 11110110 ц &#246;
247 367 0xF7 11110111 ч &#247;
248 370 0xF8 11111000 ш &#248;
249 371 0xF9 11111001 щ &#249;
250 372 0xFA 11111010 ъ &#250;
251 373 0xFB 11111011 ы &#251;
252 374 0xFC 11111100 ь &#252;
253 375 0xFD 11111101 э &#253;
254 376 0xFE 11111110 ю &#254;
255 377 0xFF 11111111 я &#255;

Таблицы кодировок 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 charset1 charset2 {...}
По умолчанию:

Контекст: 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 mime-type ...;
По умолчанию:
 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 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 шестнадцатеричных цифры кодовой точки.
  • Использование шрифта ISO-8859-1, который не имеет правильных глифов для символов Windows-1252
    приведет к неправильному отображению символов.

  • 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 ;.

В сравнительной таблице ниже показаны кодовые точки 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
Сравнение символов в Windows-1252, ISO-8859-1, ISO-8859-15
Кодовый пункт 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 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 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 = strHost

Mail.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

<ТЕЛО>


<ТАБЛИЦА ЯЧЕЙКИ = 0 ЯЧЕЙКА = 0>
Введите адрес электронной почты:
Введите свое имя:
Введите тему:
Введите текст:



В этом примере кода есть несколько важных элементов, которые нельзя упускать из виду:

Этот тег META определяет набор символов для этой страницы как UTF-8.Это, помимо прочего, указывает браузеру кодировать все элементы формы в кодировке UTF8.
когда форма отправлена.

Session.CodePage = 65001

Эта строка указывает нашему сценарию ASP преобразовывать элементы формы в кодировке UTF8.
(возвращается коллекцией Request.Form) обратно к обычным строкам Unicode. Номер
65001 — это кодовая страница UTF-8.

Mail.Subject = Mail.EncodeHeader (Запрос («Тема»), «utf-8»)

Второй необязательный аргумент установлен в «UTF-8» для правильного кодирования заголовка.


Mail.CharSet = «UTF-8»
Mail.ContentTransferEncoding = «Quoted-Printable»

Эти две строки обеспечивают правильную кодировку UTF-8 тела сообщения.

Щелкните ссылки ниже, чтобы запустить этот пример кода:

http: //localhost/aspemail/NonAscii/Unicode.asp
http: //localhost/aspemail/NonAscii/Unicode.aspx

6.5 допустимых значений CharSet

Вы можете указать следующие строковые значения для свойства CharSet ,
а также второй необязательный аргумент метода EncodeHeader :

Значение Значение
«УТФ-8» UTF-8
«УТФ-7» UTF-7
«Окна-1250»
«cp1250»
ANSI — Центральная Европа
«Окна-1251»
«cp1251»
ANSI — кириллица
«Windows-1252»
«cp1252»
«ascii»
«us-ascii»
латиница I
«Окна-1253»
«cp1253»
ANSI — греческий
«Окна-1254»
«cp1254»
ANSI — турецкий
«Окна-1255»
«cp1255»
ANSI — иврит
«Окна-1256»
«cp1256»
ANSI — арабский
«Окна-1257»
«cp1257»
ANSI — Балтика
«Окна-1258»
«cp1258»
ANSI — вьетнамский
«ИСО-8859-1» Latin I (значение по умолчанию)
«ИСО-8859-2» Центральная Европа
«ИСО-8859-3» Латиница 3
«ИСО-8859-4» Балтика
«ИСО-8859-5» Кириллица
«ISO-8859-6» Арабский
«ISO-8859-7» Греческий
«ISO-8859-8» Еврейский
«ИСО-8859-9» Латиница 5
«ИСО-8859-15» Латиница 9
«cp866» Русский DOS
«КОИ8-Р» Русский
«КОИ8-У» Украинский
«shift_jis» Японская Windows
«ks_c_5601-1987»
«корейский»
Корейский
«EUC-KR»
«корейский»
EUC — корейский
«BIG5» Традиционный китайский Windows
«GB2312»
«китайский»
Китайский упрощенный
«HZ-GB-2312» Упрощенный китайский HZ
«EUC-JP» EUC — Японский
«X-EUC-TW» EUC — традиционный китайский

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *