Что такое код isascii


Содержание

Коды ASCII символов

Этот список может помочь при использовании функций Asc и Chr . Таблица основана на ASCII Character Set

Управляющие символы (большинство непечатные; наиболее важные подсвечены жёлтым)

Символ (Обознач.) Dec Hex Oct Описание
NUL 00 000 Пустой символ
SOH 1 01 001 Начало заголовка, = console interrupt
STX 2 02 002 Начало текста, maintenance mode on HP console
ETX 3 03 003 Конец текста
EOT 4 04 004 Конец передачи, не тоже самое, что ETB
ENQ 5 05 005 Запрос, связан с ACK; old HP flow control
ACK 6 06 006 Подтверждение, очищает ENQ logon hand
BEL 7 07 007 Звуковой сигнал (Воспроизводит стандартный «бииип» системным динамиком ПК в Windows )
BS 8 08 010 Backspace, works on HP terminals/computers
HT 9 09 011 Горизонтальная табуляция, перемещает к следующей позиции табуляции
LF 10 0a 012 Перенос строки
VT 11 0b 013 Вертикальная табуляция
FF 12 0c 014 Смена страницы, извлекает страницу
CR 13 0d 015 Возврат каретки
SO 14 0e 016 Shift Out, включает альтернативные символы
SI 15 0f 017 Shift In, возобновляет символы по умолчанию
DLE 16 10 020 Экранирует управляющий символ
DC1 17 11 021 XON, with XOFF to pause listings; «:okay to send».
DC2 18 12 022 Управление устройством, код 2, block-mode flow control
DC3 19 13 023 XOFF, with XON is TERM=18 flow control
DC4 20 14 024 Управление устройством, код 4
NAK 21 15 025 Отрицательное подтверждение
SYN 22 16 026 Пустой символ для синхронного режима передачи
ETB 23 17 027 Конец передаваемого блока данных, не тоже самое, что EOT
CAN 24 18 030 Отмена строки, MPE echoes .
EM 25 19 031 Конец носителя, Control-Y interrupt
SUB 26 1a 032 Замена
ESC 27 1b 033 Экранирует, следующий символ не отображается
FS 28 1c 034 Разделитель файлов
GS 29 1d 035 Разделитель групп
RS 30 1e 036 Разделитель записей, block-mode terminator
US 31 1f 037 Разделитель полей
DEL 127 7f 177 Delete (rubout), cross-hatch box

Печатные символы (стандартные)

Символ Dec Hex Oct Описание
32 20 040 Пробел
! 33 21 041 Восклицательный знак
« 34 22 042 Кавычка (» в HTML)
# 35 23 043 Решётка (знак числа)
$ 36 24 044 Доллар
% 37 25 045 Проценты
& 38 26 046 Амперсанд
39 27 047 Закрывающая одиночная кавычка (апостроф)
( 40 28 050 Открывающая скобка
) 41 29 051 Закрывающая скобка
* 42 2a 052 Звёздочка, умножение
+ 43 2b 053 Плюс
, 44 2c 054 Запятая
45 2d 055 Дефис, минус
. 46 2e 056 Точка
/ 47 2f 057 Наклонная черта (слеш, деление)
48 30 060 Ноль
1 49 31 061 Один
2 50 32 062 Два
3 51 33 063 Три
4 52 34 064 Четыре
5 53 35 065 Пять
6 54 36 066 Шесть
7 55 37 067 Семь
8 56 38 070 Восемь
9 57 39 071 Девять
: 58 3a 072 Двоеточие
; 59 3b 073 Точка с запятой
62 3e 076 Знак больше
? 63 3f 077 Знак вопроса
@ 64 40 100 эт, собака
A 65 41 101 Заглавная A
B 66 42 102 Заглавная B
C 67 43 103 Заглавная C
D 68 44 104 Заглавная D
E 69 45 105 Заглавная E
F 70 46 106 Заглавная F
G 71 47 107 Заглавная G
H 72 48 110 Заглавная H
I 73 49 111 Заглавная I
J 74 4a 112 Заглавная J
K 75 4b 113 Заглавная K
L 76 4c 114 Заглавная L
M 77 4d 115 Заглавная M
N 78 4e 116 Заглавная N
O 79 4f 117 Заглавная O
P 80 50 120 Заглавная P
Q 81 51 121 Заглавная Q
R 82 52 122 Заглавная R
S 83 53 123 Заглавная S
T 84 54 124 Заглавная T
U 85 55 125 Заглавная U
V 86 56 126 Заглавная V
W 87 57 127 Заглавная W
X 88 58 130 Заглавная X
Y 89 59 131 Заглавная Y
Z 90 5a 132 Заглавная Z
[ 91 5b 133 Открывающая квадратная скобка
\ 92 5c 134 Обратная наклонная черта (обратный слеш)
] 93 5d 135 Закрывающая квадратная скобка
^ 94 5e 136 Циркумфлекс, возведение в степень, знак вставки
_ 95 5f 137 Нижнее подчёркивание
` 96 60 140 Открывающая одиночная кавычка, гравис, знак ударения
a 97 61 141 Строчная a
b 98 62 142 Строчная b
c 99 63 143 Строчная c
d 100 64 144 Строчная d
e 101 65 145 Строчная e
f 102 66 146 Строчная f
g 103 67 147 Строчная g
h 104 68 150 Строчная h
i 105 69 151 Строчная i
j 106 6a 152 Строчная j
k 107 6b 153 Строчная k
l 108 6c 154 Строчная l
m 109 6d 155 Строчная m
n 110 6e 156 Строчная n
o 111 6f 157 Строчная o
p 112 70 160 Строчная p
q 113 71 161 Строчная q
r 114 72 162 Строчная r
s 115 73 163 Строчная s
t 116 74 164 Строчная t
u 117 75 165 Строчная u
v 118 76 166 Строчная v
w 119 77 167 Строчная w
x 120 78 170 Строчная x
y 121 79 171 Строчная y
z 122 7a 172 Строчная z
< 123 7b 173 Открывающая фигурная скобка
| 124 7c 174 Вертикальная черта
> 125 7d 175 Закрывающая фигурная скобка
126 7e 176 Тильда (приблизительно)

Расширенный набор символов (ANSI) в русской кодировке Win-1251

Кодировка ASCII

ASCII обозначает «Американский Стандартный Кодекс для информационного Обмена» (American Standard Code for Information Interchange). Он был разработан в начале 60-х годов 20-го века как стандартная кодировка для компьютеров и аппаратных устройств.

ASCII — это 7-битная кодировка, содержащая 128 символов.

Она состоит из цифр от 1 до 9, прописных и строчных латинских символов и некоторых специальных символов.

Кодировки, используемые в современных компьютерах, HTML и в интернете, основаны на кодексе ASCII.

В таблице ниже представлены все 128 символов ASCII и их аналоги в HTML.

Кодировка ASCII. Таблица кодировки ASCII

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

Отображение и хранение информации в ЭВМ

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

Как все начиналось

Исторически сложилось так, что первые ЭВМ были англоязычными. Для кодирования символьной информации в них было достаточно использовать всего лишь 7 бит памяти, тогда как для этой цели выделялся 1 байт, состоящий из 8 битов. Количество знаков, понимаемых компьютером в таком случае, было равно 128. В число таких символов входили английский алфавит с его знаками препинания, числа и некоторые специальные символы. Англоязычная семибитная кодировка с соответствующей таблицей (кодовой страницей), разработанная в 1963 году, была названа American Standard Code for Information Interchange. Обычно для ее обозначения использовалась и используется и по сей день аббревиатура «Кодировка ASCII».

Переход к мультиязычности

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

Описание

Кодировка ASCII имеет таблицу, которая делится на 2 части. Общепринятым международным стандартом принято считать лишь ее первую половину. В нее входят:

  • Символы с порядковыми номерами от 0 до 31, кодируемые последовательностями от 00000000 до 00011111. Они отведены для управляющих символов, которые руководят процессом вывода текста на экран или принтер, подачей звукового сигнала и т. п.
  • Символы с NN в таблице от 32 до 127, кодируемые последовательностями от 00100000 до 01111111 составляют стандартную часть таблицы. В их число входят пробел (N 32), буквы латинского алфавита (строчные и прописные), десятизначные цифры от 0 до 9, знаки препинания, скобки разного начертания и другие символы.
  • Символы с порядковыми номерами от 128 до 255, кодируемые последовательностями от 10000000 до 11111111. В их число включены буквы национальных алфавитов, отличные от латинского. Именно эта альтернативная часть таблицы кодировка ASCII используется для преобразования в компьютерную форму русских символов.

Некоторые свойства

К особенностям кодировки ASCII относится отличие букв «A» — «Z» нижнего и верхнего регистров только одним битом. Это обстоятельство значительно упрощает преобразование регистра, а также его проверку на принадлежность к заданному диапазону значений. Кроме того, все буквы в системае кодировки ASCII представляются собственными порядковыми номерами в алфавите, которые записаны 5 цифрами в двоичной системе счисления, перед которыми для букв нижнего регистра стоит 0112, а верхнего — 0102.

К числу особенностей кодировки ASCII можно причислить и представление 10 цифр — «0»-«9». Во второй системе счисления они начинаются с 00112, а заканчиваются 2-ми значениями чисел. Так, 01012 эквивалентно десятичному числу пять, поэтому символ «5» записывается как 0011 01012. Опираясь на сказанное, можно легко преобразовать двоично-десятичные числа в строку в кодировке ASCII посредством добавления слева битовой последовательности 00112 к каждому полубайту.

«Юникод»

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

Так, возникла необходимость создания универсальной кодировки текста, разработкой которой при сотрудничестве со многими лидерами мировой IT-индустрии занялся консорциум «Юникод». Его специалистами была создана система UTF 32. В ней для кодирования 1 символа выделялось 32 бита, составляющих 4 байта информации. Главным недостатком было резкое увеличение объема необходимой памяти в целых 4 раза, что влекло за собой множество проблем.

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

В результате дальнейшей работы специалистов из консорциума «Юникод» появилась кодировка UTF-16. Она стала тем вариантом преобразования символьной информации, которая устроила всех как по объему требуемой памяти, так и по числу кодируемых символов. Именно поэтому UTF-16 была принята по умолчанию и в ней для одного знака требуется зарезервировать 2 байта.

Даже эта достаточно продвинутая и удачная версия «Юникода» имела некоторые недостатки, и после перехода от расширенной версии ASCII к UTF-16 увеличивала вес документа в два раза.

В связи с этим было решено использовать кодировку переменной длины UTF-8. В таком случае каждый символ исходного текста кодируется последовательностью длиной от 1 до 6 байт.

Связь с American standard code for information interchange

Все знаки латинского алфавита в UTF-8 переменной длины кодируются в 1 байт, как в системе кодировки ASCII.

Особенностью ЮТФ-8 является то, что в случае текста на латинице без использования других символов, даже программы, не понимающие «Юникод», все равно позволят его прочитать. Иными словами, базовая часть кодировки текста ASCII просто переходит в состав новой UTF переменной длины. Кириллические знаки в ЮТФ-8 занимают 2 байта, а, например, грузинские — 3 байта. Созданием UTF-16 и 8 была решена основная проблема создания единого кодового пространства в шрифтах. С тех пор производителям шрифтов остается только заполнять таблицу векторными формами символов текста исходя из своих потребностей.

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

Теперь вы знаете, сколько символов в кодировке ASCII и, как и почему она была разработана. Конечно, сегодня наибольшее распространение в мире получил стандарт «Юникод». Однако нельзя забывать, что он создан на базе ASCII, поэтому следует по достоинству оценивать вклад его разработчиков в сферу IT.

Определение ASCII


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

ASCII — это в основном код символов, основанный на латинском или латинском алфавите. Это означает, что ASCII служит для преобразования с помощью ряда правил символа, являющегося частью естественного языка (например, буквы алфавита ), в символ, принадлежащий к другому типу репрезентативной системы.

Создание ASCII произошло в 1963 году после переформулирования кодов, которые использовались в телеграфии . Четыре года спустя строчные буквы были добавлены и некоторые коды были изменены.

Американская телекоммуникационная компания, известная как AT & T, пользующаяся международной популярностью, в то время называлась Bell, и она предоставляла услуги передачи данных, которые использовали код ASCII. Первоначально Белл планировал использовать только шесть битов, но после присоединения к Агентству по стандартам США, аббревиатура которого была ASA, это изменилось, и был добавлен седьмой бит.

Для представления символов ASCII использует 7 бит . Код позволяет определить 32 символа, которые нельзя распечатать, а затем 95 символов, которые можно распечатать. Будучи 7- битным кодом, он обращается к цепочкам битов, которые могут быть представлены семью двоичными цифрами, которые в десятичном выражении находятся между 0 и 127.

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

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

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

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

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

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

Кодировка ASCII (American standard code for information interchange) — базовая кодировка текста для латиницы

По данным Международного Союза электросвязи, в 2020 году Интернетом с той или иной регулярностью пользовалось три с половиной миллиарда человек. Большинство из них даже не задумываются о том, что любые сообщения, посылаемые ими через ПК или мобильные гаджеты, а также тексты, которые отображаются на всевозможных мониторах, на самом деле представляют собой комбинации из 0 и 1. Такое представление информации называется кодированием. Оно обеспечивает и значительно облегчает осуществление ее хранения, обработки и передачи. В 1963 году была разработана американская кодировка ASCII, которой и посвящена данная статья.

Представление информации в компьютере

С точки зрения любой электронно-вычислительной машины текст представляет собой набор отдельных символов. К их числу принадлежат не только буквы, включая заглавные, но и знаки препинания, цифры. Кроме того, используются спецсимволы «=»,«&», «(» и пробелы.

Множество символов, из которых состоит текст, называется алфавитом, а их количество — мощностью (обозначается, как N). Для ее определения используется выражение N = 2^b, где b — число бит или информационный вес конкретного символа.

Доказано, что алфавит мощностью 256 символов позволяет представить все необходимые символы.

Так как 256 представляет собой 8 степень двойки, то вес каждого символа равен 8 бит.

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

Как осуществляется кодирование

Любые тексты вводятся в память персонального компьютера посредством клавиш клавиатуры, на которых написаны цифры, буквы, знаки препинания и прочие символы. В оперативную память они передаются в двоичном коде, т. е. каждому символу сопоставляется привычный для человека десятеричный код, от 0 до 255, которому соответствует двоичный код — от 00000000 до 11111111.

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

Кодировка символов ASCII

Эта аббревиатура на английском расшифровывается как American standard code for information interchange.

Еще на заре компьютеризации стало очевидно, что можно придумать самые разнообразные способы кодировки информации. Однако для переноса информации с одной ЭВМ на другую требовалось разработать единый стандарт. Так, в 1963 году в США появилась таблица кодировки ASCII. В ней любому символу компьютерного алфавита поставлен в соответствие его порядковый номер в двоичном представлении. Изначально кодировка ASCII использовалась только в Соединенных Штатах, а затем стала международным стандартом для ПК.

Содержание таблицы

Коды ASCII делятся на 2 части. Международным стандартом считается лишь первая половина этой таблицы. В нее входят символы с порядковыми номерами от 0 (кодируется как 00000000) до 127 (код 01111111).

Кодировка текста ASCII

0000 0000 — 0001 1111

Символы с N от 0 до 31 называют управляющими. Их функцией является «руководство» процессом вывода текста на монитор или печатающее устройство, подача звукового сигнала и т.п.

0010 0000 — 0111 1111

Символы с N от 32 до 127 (стандартная часть таблицы) — прописные и строчные буквы латинского алфавита, 10-ные цифры, знаки препинания, а также различные скобки, коммерческие и др. символы. Символом 32 обозначается пробел.

1000 0000 — 1111 1111

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

В таблице кодировки прописные и строчные буквы идут друг за другом в алфавитном порядке, а цифры — по возрастанию значений. Такой принцип сохраняется и для русского алфавита.

Управляющие символы

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

Самым распространенным «телетайпным» символом является NUL (00, «нулевой»). Он и по сей день используется в большинстве языков программирования, обозначая признак конца строки.

Где применяют кодировку ASCII

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

Подобные продукты бывают двух типов: выполняющие функцию графических редакторов путем преобразования изображения в текст и конвертирующие «рисунки» в ASCII-графику. Например, известный смайлик является ярким примером кодировочного символа.

ASCII может использоваться и при создании документа HTML. В таком случае вы можете вводить некий набор знаков, а при просмотре страницы на экране появится символ, который соответствует данному коду.


ASCII необходим и для создания многоязычных сайтов, так как знаки, которые не входят в конкретную национальную таблицу, заменяются ASCII-кодами.

Некоторые особенности

Для кодирования текстовой информации в кодировке ASCII изначально использовали 7 бит (один оставался пустым), однако сегодня она работает как 8-битная.

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

Применение ASCII в Microsoft Office

При необходимости этот вид кодирования текстовой информации может использоваться в текстовых редакторах корпорации Microsoft, таких как Notepad и Office Word. Однако при наборе текста в таком случае будет невозможно использовать некоторые функции. Например, вы не сможете осуществлять выделение жирным шрифтом, так как кодировка ASCII сохраняет только смысл информации, игнорируя ее общий вид и форму.

Стандартизация

Организация ISO приняла стандарты ISO 8859. Эта группа определяет восьмибитные кодировки для разных языковых групп. В частности, ISO 8859-1 — это Extended ASCII, представляющая собой таблицу для Соединенных Штатов и стран Западной Европы. А ISO 8859-5 — это таблица, применяемая для кириллицы, в том числе для русского языка.

По ряду исторических причин стандарт ISO 8859-5 использовался очень недолго.

Для русского языка на данный момент реально применяются кодировки:

  • CP866 (Code Page 866) или DOS, которая часто называется альтернативной кодировкой ГОСТ. Она активно использовалась до середины 90-х годов прошлого века. На данный момент практически не используется.
  • КОИ-8. Кодировка была разработана в 1970-80-е годы, и на данный момент это общепринятый стандарт для почтовых сообщений в Рунете. Она широко применяется и в ОС семейства Unix, в том числе Linux. «Русский» вариант КОИ-8 называется КОИ-8R. Кроме того, существуют версии и для других кириллических языков, например украинского.
  • Code Page 1251 (CP 1251, Windows — 1251). Разработан корпорацией Microsoft для обеспечения поддержки русского языка в среде Windows.

Основным достоинством первого стандарта CP866 было сохранение псевдографических символов на тех же позициях, что и в Extended ASCII. Это позволяло запускать без изменений текстовые программы, зарубежного производства, такие как известный Norton Commander. На данный момент CP866 применяется для программ, разработанных под Windows, которые работают в полноэкранном текстовом режиме или в текстовых окнах, в том числе в FAR Manager.

Компьютерные тексты, написанные в кодировке CP866, в последнее время встречаются достаточно редко, однако именно она применяется для русских имен файлов в «Виндоус».

«Юникод»

На данный момент наиболее широкое распространение получила именно эта кодировка. Коды «Юникода» разделены на области. Первая (от U+0000 до U+007F) включает символы набора ASCII с кодами. Затем следуют области знаков различных национальных письменностей, а также пунктуационные знаки и технические символы. Кроме того, часть кодов «Юникода» зарезервирована на случай возникновения необходимости включить новые символы в будущем.

Теперь вы знаете, что в кодировке ASCII каждый символ представляется как комбинация 8 нулей и единиц. Неспециалистам эта информация может показаться ненужной и неинтересной, но разве вам не хочет знать, что происходит «в мозгах» вашего ПК?!

Таблица ASCII и как её использовать

Приветствую всех. Как Вы поняли из заголовка, сегодня мы поговорим про то, что такое таблица ASCII и как её можно использовать.

Собственно, однажды я писал Вам о том как же генерировать и запомнить довольно взломоустойчивый к подбору и, как следствие, взлому пароль. Судя по отзывам, статья многим пригодилась, а некоторые вообще сделали из придумывания паролей что-то вроде искусства (местами очень комичного), но не о том речь.

Хитрый пароль, — это чудесно, но будь в нем хоть 30 символов — это не спасет Вас от программ-кейлогеров или недобросовестных людей, которые попросту подглядывают за тем, что Вы вводите.

Впрочем, давайте поподробнее.

Вводная

Помимо зараженного дома вирусами (а кейлогер и есть вирус) компьютера подобная проблема особенно актуальна в интернет-кафе и компьютерных клубах.

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

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

К тому же многим будет интересно узнать о вводе с клавиатуры специфичных символов (как пару примеров: û

Ç ╟↓ ∟ П ┬ и тд и тп) без всяких сторонних программ, что кстати очень просто, но известно в основном только людям, связанным с компьютерами в качестве профессии.

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

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

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

Ç ╟↓ ∟ П ┬ и тд и тп.

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

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

Еще немного подробностей и сама таблица ASCII

Точнее говоря, любую букву, цифру, знак препинания и тд и тп, тобишь любой символ можно ввести не просто вполне естественным образом (естественный способ для простого пользователя — это тычок пальчиком в соответствующую кнопку на клавиатуре), а еще и методом использования кнопки ALT и цифровой клавиатуры, а именно нажатие ALT+35 (где кнопка ALT зажата, а 35 вводится на цифрах (плюс жать не надо)) даст символ # .

Сочетание ALT+147 даст Вам букву У . Собственно, подобным образом можно вводить и специфичные символы, а именно, скажем ☺ — это нажатие ALT+1 , а ▀ — это ALT+1247 и тд и тп.

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

Кстати о расширенных символах. Среди них есть такая вещь как неразрывный пробел- ALT+0160 . Он отображается как обычный пробел и зачастую может обмануть тех, кто каким-то образом подглядел Ваш пароль.

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

Подводные камни при таком подходе


Они не такие страшные, но без них, к сожалению, никак.

  • Как Вы понимаете создание пароля со специфичными символами или ввод его по средством ALT +цифры требует большего нажатий клавиш, что тоже требует запоминания в первую очередь Вами самими (т.е. пароль из 5 символов будет требовать, например, 25 нажатий клавиш ( ALT+1256, ALT+2341 и тд). Возможно проще было бы не заморачиваться и просто удлинить обычный пароль на несколько обычных символов. Это во-первых;
  • Во-вторых, клавиатуры некоторых компьютеров (зачастую эта проблема наблюдается в ноутбуках) затрудняют ввод с цифровой клавиатуры;
  • В-третьих, некоторые утилиты командной строки не поддерживают символы с большим ASCII -кодом. Например, вы можете использовать символ ALT+0127 в Windows , но не сможете набрать его в командной строке. И наоборот, коды некоторых символов, таких как Tabs ( ALT+0009 ) или ESC ( ALT+0027 ) могут быть использованы в cmd (командной строке), но совершенно никак не получится задействовать их в самой Windows .

Давайте перейдем к послесловию

Послесловие

Вот такие пироги про такую штуку как таблица ASCII и её использование для создания паролей (и не только).

Надеюсь, что эта статья Вам пригодится. Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.

Коды ASCII символов

Этот список может помочь при использовании функций Asc и Chr . Таблица основана на ASCII Character Set

Управляющие символы (большинство непечатные; наиболее важные подсвечены жёлтым)

Символ (Обознач.) Dec Hex Oct Описание
NUL 00 000 Пустой символ
SOH 1 01 001 Начало заголовка, = console interrupt
STX 2 02 002 Начало текста, maintenance mode on HP console
ETX 3 03 003 Конец текста
EOT 4 04 004 Конец передачи, не тоже самое, что ETB
ENQ 5 05 005 Запрос, связан с ACK; old HP flow control
ACK 6 06 006 Подтверждение, очищает ENQ logon hand
BEL 7 07 007 Звуковой сигнал (Воспроизводит стандартный «бииип» системным динамиком ПК в Windows )
BS 8 08 010 Backspace, works on HP terminals/computers
HT 9 09 011 Горизонтальная табуляция, перемещает к следующей позиции табуляции
LF 10 0a 012 Перенос строки
VT 11 0b 013 Вертикальная табуляция
FF 12 0c 014 Смена страницы, извлекает страницу
CR 13 0d 015 Возврат каретки
SO 14 0e 016 Shift Out, включает альтернативные символы
SI 15 0f 017 Shift In, возобновляет символы по умолчанию
DLE 16 10 020 Экранирует управляющий символ
DC1 17 11 021 XON, with XOFF to pause listings; «:okay to send».
DC2 18 12 022 Управление устройством, код 2, block-mode flow control
DC3 19 13 023 XOFF, with XON is TERM=18 flow control
DC4 20 14 024 Управление устройством, код 4
NAK 21 15 025 Отрицательное подтверждение
SYN 22 16 026 Пустой символ для синхронного режима передачи
ETB 23 17 027 Конец передаваемого блока данных, не тоже самое, что EOT
CAN 24 18 030 Отмена строки, MPE echoes .
EM 25 19 031 Конец носителя, Control-Y interrupt
SUB 26 1a 032 Замена
ESC 27 1b 033 Экранирует, следующий символ не отображается
FS 28 1c 034 Разделитель файлов
GS 29 1d 035 Разделитель групп
RS 30 1e 036 Разделитель записей, block-mode terminator
US 31 1f 037 Разделитель полей
DEL 127 7f 177 Delete (rubout), cross-hatch box

Печатные символы (стандартные)

Символ Dec Hex Oct Описание
32 20 040 Пробел
! 33 21 041 Восклицательный знак
« 34 22 042 Кавычка (» в HTML)
# 35 23 043 Решётка (знак числа)
$ 36 24 044 Доллар
% 37 25 045 Проценты
& 38 26 046 Амперсанд
39 27 047 Закрывающая одиночная кавычка (апостроф)
( 40 28 050 Открывающая скобка
) 41 29 051 Закрывающая скобка
* 42 2a 052 Звёздочка, умножение
+ 43 2b 053 Плюс
, 44 2c 054 Запятая
45 2d 055 Дефис, минус
. 46 2e 056 Точка
/ 47 2f 057 Наклонная черта (слеш, деление)
48 30 060 Ноль
1 49 31 061 Один
2 50 32 062 Два
3 51 33 063 Три
4 52 34 064 Четыре
5 53 35 065 Пять
6 54 36 066 Шесть
7 55 37 067 Семь
8 56 38 070 Восемь
9 57 39 071 Девять
: 58 3a 072 Двоеточие
; 59 3b 073 Точка с запятой
62 3e 076 Знак больше
? 63 3f 077 Знак вопроса
@ 64 40 100 эт, собака
A 65 41 101 Заглавная A
B 66 42 102 Заглавная B
C 67 43 103 Заглавная C
D 68 44 104 Заглавная D
E 69 45 105 Заглавная E
F 70 46 106 Заглавная F
G 71 47 107 Заглавная G
H 72 48 110 Заглавная H
I 73 49 111 Заглавная I
J 74 4a 112 Заглавная J
K 75 4b 113 Заглавная K
L 76 4c 114 Заглавная L
M 77 4d 115 Заглавная M
N 78 4e 116 Заглавная N
O 79 4f 117 Заглавная O
P 80 50 120 Заглавная P
Q 81 51 121 Заглавная Q
R 82 52 122 Заглавная R
S 83 53 123 Заглавная S
T 84 54 124 Заглавная T
U 85 55 125 Заглавная U
V 86 56 126 Заглавная V
W 87 57 127 Заглавная W
X 88 58 130 Заглавная X
Y 89 59 131 Заглавная Y
Z 90 5a 132 Заглавная Z
[ 91 5b 133 Открывающая квадратная скобка
\ 92 5c 134 Обратная наклонная черта (обратный слеш)
] 93 5d 135 Закрывающая квадратная скобка
^ 94 5e 136 Циркумфлекс, возведение в степень, знак вставки
_ 95 5f 137 Нижнее подчёркивание
` 96 60 140 Открывающая одиночная кавычка, гравис, знак ударения
a 97 61 141 Строчная a
b 98 62 142 Строчная b
c 99 63 143 Строчная c
d 100 64 144 Строчная d
e 101 65 145 Строчная e
f 102 66 146 Строчная f
g 103 67 147 Строчная g
h 104 68 150 Строчная h
i 105 69 151 Строчная i
j 106 6a 152 Строчная j
k 107 6b 153 Строчная k
l 108 6c 154 Строчная l
m 109 6d 155 Строчная m
n 110 6e 156 Строчная n
o 111 6f 157 Строчная o
p 112 70 160 Строчная p
q 113 71 161 Строчная q
r 114 72 162 Строчная r
s 115 73 163 Строчная s
t 116 74 164 Строчная t
u 117 75 165 Строчная u
v 118 76 166 Строчная v
w 119 77 167 Строчная w
x 120 78 170 Строчная x
y 121 79 171 Строчная y
z 122 7a 172 Строчная z
< 123 7b 173 Открывающая фигурная скобка
| 124 7c 174 Вертикальная черта
> 125 7d 175 Закрывающая фигурная скобка
126 7e 176 Тильда (приблизительно)

Расширенный набор символов (ANSI) в русской кодировке Win-1251

Лекция № 6. Кодирование текста: ASCII и Unicode (UTF-16)

Читайте также:

  1. SIMULINK ЛЕКЦИЯ 1
  2. Введение. Лекция № 1
  3. ВВОДНАЯ ЛЕКЦИЯ
  4. Вводная лекция
  5. Вводная лекция
  6. ВВОДНАЯ ЛЕКЦИЯ
  7. Вводная лекция
  8. Вводная лекция
  9. Вводная лекция Исследования
  10. ВВОДНАЯ ЛЕКЦИЯ ПО АИИСРК
  11. Вводная лекция.
  12. Вопросы к лекциям

Кодирование текста: ASCII и Unicode (UTF-16)

Человек легко воспринимает текст. Наш мозг ежедневно обрабатывает огромные объёмы текста. В отличие от нас, процессор компьютера может работать только с числами. Поэтому все текстовые данные в памяти компьютера представляются числами. Но перед подробным обсуждением этого момента, давайте вспомним, как организована память компьютера.

Память компьютера — это последовательность битов. Бит — минимальная единица информации, которая может хранить два значения: ноль или единицу. Т.е. все данные, которые может выдавать компьютер (числа, текст, аудио, видео) — это последовательность нулей и единиц.

Бит слишком малая единица. Поэтому биты объединяются в байты. В одном байте восемь бит. Каждый байт имеет свой адрес. Именно байт является минимальной единицей, к которой может обратиться процессор — процессор не может обращаться к отдельным битам, только через соответствующие байты. Давайте посмотрим на небольшой участок памяти компьютера:

01001000 01000101 01001011 01001011 01001111 00100001

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

В одном байте может храниться 256 значений — 28 = 256. Диапазон значений: от нуля до 255 (для беззнаковых чисел), или от -128 до 127 (для чисел со знаком). В шестнадцатеричной форме максимальное значение байта — 0xff. Обратите внимание на удобство использования шестнадцатеричной системы счисления: для записи любого однобайтного значения требуется две цифры. Посмотрим на диапазоны однобайтного числа во всех трёх системах счисления:

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

01001000 01000101 01001011 01001011 01001111 00100001 // двоичная (бинарная) форма

72 69 76 76 79 33 // десятичная форма

0x48 0x45 0x4b 0x4b 0x4f 0x21 // шестнадцатеричная форма

Компьютеру удобнее использовать бинарную форму, а нам — шестнадцатеричную, или десятичную.

Чтобы представить текст числами, каждой букве присваивают числовое значение — кодируют значения букв. Присвоив всем буквам уникальное значение, мы получим кодировку (character set, endoding). Но использовать свою кодировку нет никакого смысла — вы сможете использовать её только в своей программе. На данный момент наибольшее распространение получила кодировка ASCII.

Первоначально один символ в кодировке ASCII занимал 7 бит. Но когда распространение получил 8-битный байт (да, существовали байты разных размеров), то ASCII была расширена до восьми бит. 7-битная кодировка в два раза меньше восьмибитной: 27=128

Давайте вернёмся к рассмотренной ранее последовательности байтов, и попробуем значению каждого поставить в соответствие код из ASCII:

01001000 01000101 01001011 01001011 01001111 00100001 // двоичная (бинарная) форма

72 69 76 76 79 33 // десятичная форма

H E L L O ! // символы ASCII

О, чудо! У нас получился текст «HELLO!»

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

Расширенная кодировка ASCII (extended ASCII)

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

Русский алфавит (кириллица) закодирован в кодировке с названием windows-1251. Ещё одна популярная версия ASCII — windows-1252 — это кодировка для западноевропейских языков (в ней закодированы буквы специфические для французского и немецкого алфавитов). Кстати, текст, который вы сейчас читаете, закодирован в windows-1251.

Нам не важно, как закодированы русские буквы (да и английские тоже) в windows-1251 — не нужно знать конкретные значения. Если необходимо, можете найти полный список значений символов для windows-1251 в поисковиках.


Кодирование цифр в тексте

На практике не нужно знать закодированные значения букв. Но в то же время нужно обязательно запомнить закодированные значения цифр. В ASCII цифры имеют коды с 48 до 57. 48 — ноль, 49 — единица . 57 — девять. Напоминаю, что первые 128 значений одинаковы во всех кодировках, поэтому и коды цифр везде совпадают. И это, скажу я вам, очень здорово. Для чего нужно знать коды цифр, и как это связано с созданием игр?

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

Для примера рассмотрим два значения: в начале игры у пользователя нет юнитов, а через некоторое время он построил пятерых.

Сначала пользователю нужно вывести символ 0. Для этого потребуется использовать закодированное значение этого символа — 48. Затем пользователю нужно вывести символ 5, код которого — 53. Здесь видна интересная особенность: код символа цифры отличается от фактического значения на 48. Поэтому для однозначных (и только для однозначных) чисел мы можем использовать вот такой код:

int var = GetUnitNumber(); // узнать количество юнитов

char output = var+48;

Теперь можно вывести переменную output на экран. Только осталось решить одну проблему: в реальных ситуациях очень редко используются однозначные числа. Например, в Company of heroes у игрока в подчинении находятся в среднем больше 15 отрядов, в Age of Empires — больше 50. В других играх ситуация аналогичная. В шутерах может потребоваться выводить количество патронов и здоровья (значения которых практически всегда больше 9). Конечно же, и при создании своей игры нам нужно будет выводить многозначные числа. Вывод многозначных чисел мы рассмотрим в следующем уроке, а сейчас вернёмся к рассмотрению кодировок.

Кодировка (encoding) Юникод — Unicode

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

Для решения этой (и некоторых других) проблемы в начале девяностых была создана кодировка Юникод(Unicode). Первоначально все символы юникода занимали два байта. Соответственно, в unicode можно было закодировать 216 = 65536 значений. Затем кодовое пространство было расширено до более чем миллиона символов. В результате этого появилось несколько представлений юникода.

Наиболее популярными представлениями юникода являются два: UTF-8 — используется в интернете и UTF-16 — используется в Windows (Windows XP, Windows Vista, Windows 7).

В контексте создания игр не важно, как кодируются все символы в различных представлениях Unicode. Но важно то, что во всех представлениях арабские цифры кодируются так же, как и в ASCII.

Существует две версии UTF-16: UTF-16LE (little-endian) — кодировка с обратным порядком байтов и UTF-16BE (big-endian) — кодировка с прямым порядком байтов. В Windows, конечно же, используется UTF16-LE.

Код символов в юникоде обозначается так: U+hhhh (четыре шестнадцатеричных цифры, h — от hexadecimal — шестнадцатеричный). Например, U+221A — символ квадратного корня — √.

Часть символов в UTF-16 кодируются двумя байтами (первые 63 тысячи). Остальные символы кодируются суррогатными парами. Так как это не слишком важно для создания игр, то я не буду останавливаться на суррогатных парах подробно.

В UTF-8 первые 128 символов кодируются одним байтом. Остальные символы могут кодироваться несколькими байтами (от двух до четырёх).

И ещё один момент (самый важный): в юникод закодированы все символы всех современных и многих мёртвых письменностей плюс знаки из различных областей науки и культуры (математические и экономически символы, нотные знаки и многое другое). Именно по этой причине и нужно использовать юникод.

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

Кодирование текста в Microsoft Windows (Windows XP, Windows Vista, Windows 7)

В современных версиях Windows существует два способа представления текста: UTF-16 и кодовые страницы (в основном это восьмибитные кодировки). Основной способ — юникод. Кодовые страницы нужны для совместимости со старыми приложениями (в Windows 95, Windows 98 — в основном использовалась ASCII). Кроме того, юникод не понимает одна очень важная программа — консоль.

Пусть вас не смущает новый термин — кодовая страница (code page). В windows так называются все кодировки (character sets или encodings). Т.е. понятие кодировка равнозначно кодовой странице.

Сразу сделаю замечание, которое лучше запомнить. В Windows есть чёткое разделение: вот юникод (UTF-16LE), а вот все остальные кодировки. И юникод, и остальные кодировки в Windows называются кодовыми страницами, но этот термин (кодовые страницы) я буду применять ко всем кодировкам за исключением юникода.

Когда мы писали консольные программы, вывод текста осуществлялся с помощью кодовой страницы windows-1252. Именно поэтому нам приходилось вызывать setlocale (она меняет кодовую страницу на windows-1251):

Эта функция меняет локальность.

Locale (местная специфика) — локальность

В Windows есть такое понятие как Locale. Здесь я не совсем верно использую кальку этого слова — локальность, но, на мой взгляд, она довольно ёмкая, чтобы вместить весь смысл понятия Locale. Locale переводится как местные особенности. Т.е. это какие-то параметры используемы в данном конкретном месте (регионе, стране). setlocale как раз и меняет эти особенности:

В данном вызове локальность меняется на российскую. Поэтому Windows может использовать наши местные особенности: представление даты и времени, систему измерения, валюту и, конечно же, кодовую страницу.

Первый параметр этой функции говорит, какие категории местных особенностей можно изменить. Можно изменить только кодовую страницу (LC_CTYPE), можно формат представления даты и времени (LC_TIME), а можно изменить и все категории (LC_ALL, all — всё).

Возвращаемся к кодировкам.

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

Дата добавления: 2014-01-06 ; Просмотров: 2263 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

FoxTools v.2.0

Привет, Гость! Ваш IP: 188.64.174.135

Таблица символов ASCII

Что такое ASCII?

ASCII (англ. American Standard Code for Information Interchange — американский стандартный код для обмена информацией) — представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Каждый символ имеет свой числовой код в диапазоне от 0 до 255 (один байт).

ASCII часто используется в программировании для определения кодов нажатых символов на клавиатуре, либо кодирования/декодирования, экранирования, анализа данных. Нередко можно встретить кодированные символы в адресах интернет-страниц.

Как пользоваться таблицей?

Сверху и слева на черном фоне, в ячейках располагает шестнадцатеричное число от до F (в десятичной система — от до 16). Используйте эту шкалу для быстрого поиска нужного символа по шестандатеричному коду.
Например, чтобы найти пробел, который имеет шестнадцатеричный код 20, нужно в колонке слева найти число 2, а в строке сверху — число ; в центре будет символ соответствующий выбранному коду.

Красным цветом выделены управляющие символы.


Зеленым цветом выделены числа.

Желтым цветом выделены символы, которые могут быть заменены в различных национальных версиях таблицы ASCII.

Синим цветом выделены буквы английского алфавита.

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

Чтобы получить подробную информацию о конкретном символе, кликните по нему.

В Application Programming Interface этот сервис не реализован.

В любом языке программирования можно легко работать с ASCII. Если у вас возникнут какие-либо вопросы, обращайтесь на форум для программистов.

Сайт построен на HTML5

Для корректной работы данного сайта требуется HTML5.

Пожалуйста, воспользуйтесь браузером, который поддерживает HTML5. Многие современные браузеры поддерживают HTML5. Например:

Таблица ASCII и как её использовать

Приветствую всех. Как Вы поняли из заголовка, сегодня мы поговорим про то, что такое таблица ASCII и как её можно использовать.

Собственно, однажды я писал Вам о том как же генерировать и запомнить довольно взломоустойчивый к подбору и, как следствие, взлому пароль. Судя по отзывам, статья многим пригодилась, а некоторые вообще сделали из придумывания паролей что-то вроде искусства (местами очень комичного), но не о том речь.

Хитрый пароль, — это чудесно, но будь в нем хоть 30 символов — это не спасет Вас от программ-кейлогеров или недобросовестных людей, которые попросту подглядывают за тем, что Вы вводите.

Впрочем, давайте поподробнее.

Вводная

Помимо зараженного дома вирусами (а кейлогер и есть вирус) компьютера подобная проблема особенно актуальна в интернет-кафе и компьютерных клубах.

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

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

К тому же многим будет интересно узнать о вводе с клавиатуры специфичных символов (как пару примеров: û

Ç ╟↓ ∟ П ┬ и тд и тп) без всяких сторонних программ, что кстати очень просто, но известно в основном только людям, связанным с компьютерами в качестве профессии.

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

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

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

Ç ╟↓ ∟ П ┬ и тд и тп.

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

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

Еще немного подробностей и сама таблица ASCII

Точнее говоря, любую букву, цифру, знак препинания и тд и тп, тобишь любой символ можно ввести не просто вполне естественным образом (естественный способ для простого пользователя — это тычок пальчиком в соответствующую кнопку на клавиатуре), а еще и методом использования кнопки ALT и цифровой клавиатуры, а именно нажатие ALT+35 (где кнопка ALT зажата, а 35 вводится на цифрах (плюс жать не надо)) даст символ # .

Сочетание ALT+147 даст Вам букву У . Собственно, подобным образом можно вводить и специфичные символы, а именно, скажем ☺ — это нажатие ALT+1 , а ▀ — это ALT+1247 и тд и тп.

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

Кстати о расширенных символах. Среди них есть такая вещь как неразрывный пробел- ALT+0160 . Он отображается как обычный пробел и зачастую может обмануть тех, кто каким-то образом подглядел Ваш пароль.

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

Подводные камни при таком подходе

Они не такие страшные, но без них, к сожалению, никак.

  • Как Вы понимаете создание пароля со специфичными символами или ввод его по средством ALT +цифры требует большего нажатий клавиш, что тоже требует запоминания в первую очередь Вами самими (т.е. пароль из 5 символов будет требовать, например, 25 нажатий клавиш ( ALT+1256, ALT+2341 и тд). Возможно проще было бы не заморачиваться и просто удлинить обычный пароль на несколько обычных символов. Это во-первых;
  • Во-вторых, клавиатуры некоторых компьютеров (зачастую эта проблема наблюдается в ноутбуках) затрудняют ввод с цифровой клавиатуры;
  • В-третьих, некоторые утилиты командной строки не поддерживают символы с большим ASCII -кодом. Например, вы можете использовать символ ALT+0127 в Windows , но не сможете набрать его в командной строке. И наоборот, коды некоторых символов, таких как Tabs ( ALT+0009 ) или ESC ( ALT+0027 ) могут быть использованы в cmd (командной строке), но совершенно никак не получится задействовать их в самой Windows .

Давайте перейдем к послесловию

Послесловие

Вот такие пироги про такую штуку как таблица ASCII и её использование для создания паролей (и не только).

Надеюсь, что эта статья Вам пригодится. Как и всегда, если есть какие-то вопросы, мысли, дополнения и всё такое прочее, то добро пожаловать в комментарии к этой статье.

Илон Маск рекомендует:  JS без jQuery 10 примеров кода, которыми можно обойтись без jquery
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL