КОДЫ СИМВОЛОВ ASCII

Спецвыпуск Xakep, номер #022, стр. 022-032-1


Андрей Каролик (andrusha@sl.ru)

Чтобы быстро въехать в тему статьи, набери в браузере http://%77%77%77%2E%78%61%6B%65%70%2E%72%75. В результате ты попадаешь на сайт твоего любимого журнала. Эврика? Все гораздо проще. Просто ты набрал адрес, используя символы в шестнадцатеричной системе счисления. Знак "%" показывает, что следующая за ним последовательность представлена в шестнадцатеричном формате. Для тебя это не очевидно, а браузер понимает одинаково хорошо, независимо от способа ввода. Эту феньку иногда используют продвинутые люди, чтобы сбить с толку необразованных чайников. Читай, всасывай и применяй по назначению.

КОДИРОВАНИЕ СИМВОЛОВ

Идея заключалась в том, чтобы передавать данные от одного компьютера на другой, понимая при этом переданные данные. То есть требовалась некая стандартизация передаваемых данных. При помощи международной организации стандартизации ISO появился ASCII (American Standard Code for Information Interchange), расшифровывается эта аббревиатура как американский стандартный код для обмена информацией. Это код для предоставления символов (всего их в ASCII 128) в виде чисел. Каждому символу сопоставлено число от 0 до 127. Стандартный набор ASCII еще называют 7-битовым стандартом, так как данные кодируются при помощи 8 битов, но при этом первый бит всегда равен нулю. ASCII описывает только латинские символы, а для поддержки других языков используется восьмой бит, позволяющий добавить еще 128 дополнительных символов. Поэтому после ASCII появились и другие кодировки, учитывающие особенности других языков или необходимые специфические символы. Например, ISO 8859-5 - русская кодировка, содержащая 256 символов. Но прелесть состоит в том, что любая кодировка содержит в себе (в своей нижней половине) первые 128 символов ASCII (стандарт ISO 646). Позже организация Unicode Consortium предприняла попытку объединить все нестандартные символы вместе, используя 16-битное кодирование (получается уже 65536 символов). Но первые 128 символов Unicode все так же в точности соответствуют стандарту ISO 646 (ASCII).

КОДИРОВКА СИМВОЛОВ ASCII В ШЕСТНАДЦАТЕРИЧНОЙ СИСТЕМЕ СЧИСЛЕНИЯ (HEXADECIMAL)

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

space - %20

! - %21

# - %23

$ - %24

% - %25

& - %26

. - %2E

/ - %2F

0 - %30

1 - %31

2 - %32

3 - %33

4 - %34

5 - %35

6 - %36

7 - %37

8 - %38

9 - %39

: - %3A

= - %3D

? - %3F

@ - %40

\ - %5C

_ - %5F

~ - %7E

A - %41

B - %42

C - %43

D - %44

E - %45

F - %46

G - %47

H - %48

I - %49

J - %4A

K - %4B

L - %4C

M - %4D

N - %4E

O - %4F

P - %50

Q - %51

R - %52

S - %53

T - %54

U - %55

V - %56

W - %57

X - %58

Y - %59

Z - %5A

a - %61

b - %62

c - %63

d - %64

e - %65

f - %66

Содержание  Вперед на стр. 022-032-2