Изучаем скрипты WP. часть четвёртая
Прежде чем переходить к следующей теме, нам понадобится небольшой справочный материал. А именно таблица
перевода между десятичными, двоичными и шестнадцатеричными данными. данной таблицы нет в справочнике WP.
Можете поискать данную таблицу в интернете, это дело ваше. Но данная таблица должна быть под рукой у
каждого, а ещё лучше выучить эту таблицу наизусть.
Спросите а зачем нам это нужно? Отвечу. Как известно WP - это редактор пакетов. Пакет это всего лишь
строка, которая может быть представлена в одном из выше указанных форматов. Поэтому всё что связано
со строками нужно знать на отлично (способы представления строки, функции для работы со строками и т.д.).
В данной теме мы подробно рассмотрим способы представления строки. Итак, немного теории.
Двоичный формат:
Символы: 0 и 1
Образующих символов всего два (0 и 1), именно поэтому формат называется двоичным.
Пример числа, записанного в двоичном формате: 00000100 (8 бит = 1 байт)
Десятичный формат (это привычные для нас числа):
Символы: 0,1,2,3,4,5,6,7,8,9
Образующих символов всего 10 (0,1,2,3,4,5,6,7,8,9), именно поэтому формат называется десятичным
Пример числа, записанного в десятичном формате: 4
Шестнадцатеричный формат:
Символы: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Образующих символов всего 16 (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F), именно поэтому формат называется шестнацатеричным
Пример числа, записанного в шестнадцатеричном формате: А1
Ну а теперь собственно таблица перевода. Данную таблицу я сам давно составлял с помощью шестнадцатеричного
редактора, вытаскивая нужные мне коды из экзешников. Ушло на это много времени, но зато данная таблица
меня не раз выручает. Данную таблицу обязательно сохраните себе на комп, при возможности распечатайте
на листе формата А4 и пусть она всегда будет у вас под рукой. А ещё лучше выучите данную таблицу наизусть,
не всю конечно (в разных кодировках она будет отличаться, особенно там где русские буквы). Но часть ASCII во всех
кодировках одинаковая и именно эту часть нужно знать как свои пять пальцев.
----------------------------------------------------------------------------------
ТАБЛИЦА ДЛЯ HEX EDITOR
(HEX – DEC – BIN – CHAR)
1) 00 – 0 – 00000000 - ^@
2) 01 – 1 – 00000001 - ^A
3) 02 – 2 – 00000010 - ^B
4) 03 – 3 – 00000011 - ^C
5) 04 – 4 – 00000100 - ^D
6) 05 – 5 – 00000101 - ^E
7) 06 – 6 – 00000110 - ^F
8) 07 – 7 – 00000111 - ^G
9) 08 – 8 – 00001000 - ^H
10) 09 – 9 – 00001001 - ^I
11) 0A – 10 – 00001010 - ^J
12) 0B – 11 – 00001011 - ^K
13) 0C – 12 – 00001100 - ^L
14) 0D – 13 – 00001101 - ^M
15) 0E – 14 – 00001110 - ^N
16) 0F – 15 – 00001111 - ^O
17) 10 – 16 – 00010000 - ^P
18) 11 – 17 – 00010001 - ^Q
19) 12 – 18 – 00010010 - ^R
20) 13 – 19 – 00010011 - ^S
21) 14 – 20 – 00010100 - ^T
22) 15 – 21 – 00010101 - ^U
23) 16 – 22 – 00010110 - ^V
24) 17 – 23 – 00010111 - ^W
25) 18 – 24 – 00011000 - ^X
26) 19 – 25 – 00011001 - ^Y
27) 1A – 26 – 00011010 - ^Z
28) 1B – 27 – 00011011 - ^[
29) 1C – 28 – 00011100 - ^\
30) 1D – 29 – 00011101 - ^]
31) 1E – 30 – 00011110 - ^^
32) 1F – 31 – 00011111 - ^_
33) 20 – 32 – 00100000 - пробел
34) 21 – 33 – 00100001 - !
35) 22 – 34 – 00100010 - ''
36) 23 – 35 – 00100011 - #
37) 24 – 36 – 00100100 - $
38) 25 – 37 – 00100101 - %
39) 26 – 38 – 00100110 - &
40) 27 – 39 – 00100111 - '
41) 28 – 40 – 00101000 - (
42) 29 – 41 – 00101001 - )
43) 2A – 42 – 00101010 - *
44) 2B – 43 – 00101011 - +
45) 2C – 44 – 00101100 - ,
46) 2D – 45 – 00101101 - -
47) 2E – 46 – 00101110 - .
48) 2F – 47 – 00101111 - /
49) 30 – 48 – 00110000 - 0
50) 31 – 49 – 00110001 - 1
51) 32 – 50 – 00110010 - 2
52) 33 – 51 – 00110011 - 3
53) 34 – 52 – 00110100 - 4
54) 35 – 53 – 00110101 - 5
55) 36 – 54 – 00110110 - 6
56) 37 – 55 – 00110111 - 7
57) 38 – 56 – 00111000 - 8
58) 39 – 57 – 00111001 - 9
59) 3A – 58 – 00111010 - :
60) 3B – 59 – 00111011 - ;
61) 3C – 60 – 00111100 - <
62) 3D – 61 – 00111101 - =
63) 3E – 62 – 00111110 - >
64) 3F – 63 – 00111111 - ?
65) 40 – 64 – 01000000 - @
66) 41 – 65 – 01000001 - A
67) 42 – 66 – 01000010 - B
68) 43 – 67 – 01000011 - C
69) 44 – 68 – 01000100 - D
70) 45 – 69 – 01000101 - E
71) 46 – 70 – 01000110 - F
72) 47 – 71 – 01000111 - G
73) 48 – 72 – 01001000 - H
74) 49 – 73 – 01001001 - I
75) 4A – 74 – 01001010 - J
76) 4B – 75 – 01001011 - K
77) 4C – 76 – 01001100 - L
78) 4D – 77 – 01001101 - M
79) 4E – 78 – 01001110 - N
80) 4F – 79 – 01001111 - O
81) 50 – 80 – 01010000 - P
82) 51 – 81 – 01010001 - Q
83) 52 – 82 – 01010010 - R
84) 53 – 83 – 01010011 - S
85) 54 – 84 – 01010100 - T
86) 55 – 85 – 01010101 - U
87) 56 – 86 – 01010110 - V
88) 57 – 87 – 01010111 - W
89) 58 – 88 – 01011000 - X
90) 59 – 89 – 01011001 - Y
91) 5A – 90 – 01011010 - Z
92) 5B – 91 – 01011011 - [
93) 5C – 92 – 01011100 - \
94) 5D – 93 – 01011101 - ]
95) 5E – 94 – 01011110 - ^
96) 5F – 95 – 01011111 - _
97) 60 – 96 – 01100000 - ‘
98) 61 – 97 – 01100001 - a
99) 62 – 98 – 01100010 - b
100) 63 – 99 – 01100011 - c
101) 64 – 100 – 01100100 - d
102) 65 – 101 – 01100101 - e
103) 66 – 102 – 01100110 - f
104) 67 – 103 – 01100111 - g
105) 68 – 104 – 01101000 - h
106) 69 – 105 – 01101001 - i
107) 6A – 106 – 01101010 - j
108) 6B – 107 – 01101011 - k
109) 6C – 108 – 01101100 - l
110) 6D – 109 – 01101101 - m
111) 6E – 110 – 01101110 - n
112) 6F – 111 – 01101111 - o
113) 70 – 112 – 01110000 - p
114) 71 – 113 – 01110001 - q
115) 72 – 114 – 01110010 - r
116) 73 – 115 – 01110011 - s
117) 74 – 116 – 01110100 - t
118) 75 – 117 – 01110101 - u
119) 76 – 118 – 01110110 - v
120) 77 – 119 – 01110111 - w
121) 78 – 120 – 01111000 - x
122) 79 – 121 – 01111001 - y
123) 7A – 122 – 01111010 - z
124) 7B – 123 – 01111011 - {
125) 7C – 124 – 01111100 - |
126) 7D – 125 – 01111101 - }
127) 7E – 126 – 01111110 - ~
128) 7F – 127 – 01111111 - □
129) 80 – 128 – 10000000 - Ђ
130) 81 – 129 – 10000001 - Ѓ
131) 82 – 130 – 10000010 - ,
132) 83 – 131 – 10000011 - ѓ
133) 84 – 132 – 10000100 - ,,
134) 85 – 133 – 10000101 - …
135) 86 – 134 – 10000110 - †
136) 87 – 135 – 10000111 - ‡
137) 88 – 136 – 10001000 - €
138) 89 – 137 – 10001001 - ‰
139) 8A – 138 – 10001010 - Љ
140) 8B – 139 – 10001011 - <
141) 8C – 140 – 10001100 - Њ
142) 8D – 141 – 10001101 - Ќ
143) 8E – 142 – 10001110 - Ћ
144) 8F – 143 – 10001111 - џ
145) 90 – 144 – 10010000 - ђ
146) 91 – 145 – 10010001 - ˙
147) 92 – 146 – 10010010 - ́
148) 93 – 147 – 10010011 - ''
149) 94 – 148 – 10010100 - ˝
150) 95 – 149 – 10010101 - ●
151) 96 – 150 – 10010110 - –
152) 97 – 151 – 10010111 - ―
153) 98 – 152 – 10011000 - □
154) 99 – 153 – 10011001 - ™
155) 9A – 154 – 10011010 - љ
156) 9B – 155 – 10011011 - >
157) 9C – 156 – 10011100 - њ
158) 9D – 157 – 10011101 - ќ
159) 9E – 158 – 10011110 - ћ
160) 9F – 159 – 10011111 - џ
161) A0 – 160 – 10100000 - пробел
162) A1 – 161 – 10100001 - Ў
163) A2 – 162 – 10100010 - ў
164) A3 – 163 – 10100011 - J
165) A4 – 164 – 10100100 - ¤
166) A5 – 165 – 10100101 - Ґ
167) A6 – 166 – 10100110 - ¦
168) A7 – 167 – 10100111 - §
169) A8 – 168 – 10101000 - Ё
170) A9 – 169 – 10101001 - ©
171) AA – 170 – 10101010 - Є
172) AB – 171 – 10101011 - «
173) AC – 172 – 10101100 - ¬
174) AD – 173 – 10101101 - -
175) AE – 174 – 10101110 - ®
176) AF – 175 – 10101111 - Ï
177) B0 – 176 – 10110000 - º
178) B1 – 177 – 10110001 - ±
179) B2 – 178 – 10110010 - I
180) B3 – 179 – 10110011 - i
181) B4 – 180 – 10110100 - ґ
182) B5 – 181 – 10110101 - μ
183) B6 – 182 – 10110110 - ¶
184) B7 – 183 – 10110111 - •
185) B8 – 184 – 10111000 - ё
186) B9 – 185 – 10111001 - №
187) BA – 186 – 10111010 - є
188) BB – 187 – 10111011 - »
189) BC – 188 – 10111100 - j
190) BD – 189 – 10111101 - S
191) BE – 190 – 10111110 - s
192) BF – 191 – 10111111 -
193) C0 – 192 – 11000000 - А
194) C1 – 193 – 11000001 - Б
195) С2 – 194 – 11000010 - В
196) С3 – 195 – 11000011 - Г
197) С4 – 196 – 11000100 - Д
198) С5 – 197 – 11000101 - Е
199) C6 – 198 – 11000110 - Ж
200) С7 – 199 – 11000111 - З
201) С8 – 200 – 11001000 - И
202) С9 – 201 – 11001001 - Й
203) CA – 202 – 11001010 - К
204) CB – 203 – 11001011 - Л
205) CC – 204 – 11001100 - М
206) CD – 205 – 11001101 - Н
207) CE – 206 – 11001110 - О
208) CF – 207 – 11001111 - П
209) D0 – 208 – 11010000 - Р
210) D1 – 209 – 11010001 - С
211) D2 – 210 – 11010010 - Т
212) D3 – 211 – 11010011 - У
213) D4 – 212 – 11010100 - Ф
214) D5 – 213 – 11010101 - Х
215) D6 – 214 – 11010110 - Ц
216) D7 – 215 – 11010111 - Ч
217) D8 – 216 – 11011000 - Ш
218) D9 – 217 – 11011001 - Щ
219) DA – 218 – 11011010 - Ъ
220) DB – 219 – 11011011 - Ы
221) DC – 220 – 11011100 - Ь
222) DD – 221 – 11011101 - Э
223) DE – 222 – 11011110 - Ю
224) DF – 223 – 11011111 - Я
225) E0 – 224 – 11100000 - а
226) E1 – 225 – 11100001 - б
227) E2 – 226 – 11100010 - в
228) E3 – 227 – 11100011 - г
229) E4 – 228 – 11100100 - д
230) E5 – 229 – 11100101 - е
231) E6 – 230 – 11100110 - ж
232) E7 – 231 – 11100111 - з
233) E8 – 232 – 11101000 - и
234) E9 – 233 – 11101001 - й
235) EA – 234 – 11101010 - к
236) EB – 235 – 11101011 - л
237) EC – 236 – 11101100 - м
238) ED – 237 – 11101101 - н
239) EE – 238 – 11101110 - о
240) EF – 239 – 11101111 - п
241) F0 – 240 – 11110000 - р
242) F1 – 241 – 11110001 - с
243) F2 – 242 – 11110010 - т
244) F3 – 243 – 11110011 - у
245) F4 – 244 – 11110100 - ф
246) F5 – 245 – 11110101 - х
247) F6 – 246 – 11110110 - ц
248) F7 – 247 – 11110111 - ч
249) F8 – 248 – 11111000 - ш
250) F9 – 249 – 11111001 - щ
251) FA – 250 – 11111010 - ъ
252) FB – 251 – 11111011 - ы
253) FC – 252 – 11111100 - ь
254) FD – 253 – 11111101 - э
255) FE – 254 – 11111110 - ю
256) FF – 255 – 11111111 - я
-------------------------------------------------------------------------------------------
Сокращения используемые в таблице:
hex - шестнадцатеричная запись числа
dec - десятичная
bin - двоичная
char - символьная
Ну вот всё, что я хотел рассказать в этой главе. Изучайте, экспериментируйте и ждите следующих глав.