Что такое код toascii


Коды 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

Описание функции toascii

18.03.2014, 17:12

Описание функции
Доброго времени суток! Начал учить с++, добрался до функций, нашел тут задачку на описание.

описание функции
пожалуйста помогите с описанием функции и прокомментируйте если не трудно. Обращаюсь к вам.

описание функции
Описать функцию mmax(x,y), которая присваивает первому парамтру большее,а второму — меньшее из.

Описание функции
Описание функции состоит из?

Описание функции
Помогите написать код функции!? Задача: Программа. Описать функцию f (s, n, x), определяющую.

Кодировка ASCII

Материал для самостоятельного изучения по теме Лекции 2

Кодировочная таблица ASCII (ASCII — American Standard Code for Information Interchange — Американский стандартный код для обмена информацией).

Всего с помощью таблицы кодирования ASCII (рисунок 1) можно закодировать 256 различных символов. Эта таблица разделена на две части: основную (с кодами от OOh до 7Fh) и дополнительную (от 80h до FFh, где буква h обозначает принадлежность кода к шестнадцатеричной системе счисления).

Для кодировки одного символа из таблицы отводится 8 бит (1 байт). При обработке текстовой информации один байт может содержать код некоторого символа — буквы, цифры, знака пунктуации, знака действия и т.д. Каждому символу соответствует свой код в виде целого числа. При этом все коды собираются в специальные таблицы, называемые кодировочными. С их помощью производится преобразование кода символа в его видимое представление на экране монитора. В результате любой текст в памяти компьютера представляется как последовательность байтов с кодами символов.

Например, слово hello! будет закодировано следующим образом (таблица 1).

Символ h e I I o !
Код двоичный
Код десятичный

На рисунке 1 представлены символы, входящие в стандартную (английскую) и расширенную (русскую) кодировку ASCII.

Первая половина таблицы ASCII стандартизована. Она содержит управляющие коды (от 00h до 20h и 77h). Эти коды из таблицы изъяты, так как они не относятся к текстовым элементам. Здесь же размещаются знаки пунктуации и математические знаки: 2lh — !, 26h — &, 28h — (, 2Bh -+. большие и малые латинские буквы: 41h — A, 61h – а.

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

Дисплей по каждому коду символа должен вывести на экран изображение символа – не просто цифровой код, а соответствующую ему картинку, так как каждый символ имеет свою форму. Описание формы каждого символа хранится в специальной памяти дисплея — знакогенераторе. Высвечивание символа на экране дисплея IBМ PC, например, осуществляется с помощью точек, образующих символьную матрицу. Каждый пиксел в такой матрице является элементом изображения и может быть ярким или темным. Темная точка кодируется цифрой 0, светлая (яркая)- 1. Если изображать в матричном поле знака темные пикселы точкой, а светлые — звездочкой, то можно графически изобразить форму символа.

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

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

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

Появляются новые символы (например: Евро), вследствие чего ISO разрабатывает новый стандарт ISO-8859-15, который весьма схож со стандартом ISO-8859-1. Разница состоит в следующем: из таблицы кодировки старого стандарта ISO-8859-1 были убраны символы обозначения старых валют, которые не используются в настоящее время, для того, чтобы освободить место под вновь появившиеся символы (такие, как Евро). В результате у пользователей на дисках могут лежать одни и те же документы, но в разных кодировках. Решением этих проблем является принятие единого международного набора кодировок, который называется универсальным кодированием или Unicode.

Не нашли то, что искали? Воспользуйтесь поиском:

Лучшие изречения: Студент — человек, постоянно откладывающий неизбежность. 10534 — | 7320 — или читать все.

Кодировка 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 и её использование

Введение

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

Что такое ASCII ?

ASCII — Американский стандарт кодирования для передачи информации (American Standard Code for Information Interchange). Этот стандарт основан на английском алфавите. Коды ASCII представляют текст в компьютерах, коммуникационном оборудовании и других устройствах, которые работают с текстом. ASCII был создан в 1963 году, но впервые опубликован как стандарт в 1967 году. Последние изменения были внесены в 1986 году. Более детальную информацию про ASCII вы можете почитать здесь: https://en.wikipedia.org/wiki/ASCII. Далее мы рассмотрим как можно полностью вывести ASCII средствами MQL4, но для начала давайте рассмотрим основы работы со строками.

Основы построения библиотеки

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

Разберем значение каждой строки отдельно.

Определяем три переменные типа string:

  • s1 — начальная строка, которую мы хотим обработать;
  • s2 — строка, в которую будет выведен результат;
  • symbol — строка, которая используется для временного хранения каждого символа.

Обратите внимание на то, что она инициализируется одним символом. Если этого не сделать, то в результате получим строку, в которой нет первого символа. Дело в том, что стандартная функция языка MQL4 StringSetChar() изменяет уже созданные символы, поэтому требуется хотя бы один символ для нормальной работы.

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

Выводим строку до обработки.

Определяем цикл, в котором будет производиться посимвольная обработка. Обратите внимание, что счетчик инициализируется нулем, так как символы в строке индексируются с нуля, так же как и в массивах. В условии выполнения цикла используется оператор сравнения «меньше», так как последний символ имеет позицию lenght — 1.

В этой строке используется две стандартные функции: StringSetChar() и StringGetChar(). Первая позволяет заменить один из символов строки, а вторая получить код символа в указанной позиции. Функция StringSetChar() имеет три параметра:

  • строку, в которой требуется произвести замену символа;
  • позиция символа, который следует заменить (помните, что символы индексируются с нуля, как в массивах);
  • код символа, которым следует произвести замену.

Функция возвращает результат в виде уже измененной строки. Еще одна важная функция — StringGetChar. Она имеет два параметра:

  • строку, в которой содержится символ, код которого нужно узнать;
  • позиция символа, код которого следует узнать.

Функция возвращает код символа. Так как функция StringGetChar возвращает код символа, то я разместил ее вызов на месте параметра функции StringSetChar. Таким образом с помощью этой строки мы запоминаем текущий символ для дальнейшей обработки. В ходе выполнения всего цикла этой переменной будет по очереди присвоен каждый символ строки s1.

Мы можем без проблем связывать строки (конкатенация) с помощью операций сложения (+). Здесь при каждой итерации цикла мы добавляем к результирующей строке очередной символ и пробел.
Выводим результат. Обратите внимание, что мы считываем каждый символ, начиная с первого, но можно поступить и наоборот. В таком случае получим меньше кода и переменных. Если при обработке строки для вас не имеет значения, с какой стороны начинать, то используйте следующий вариант:

Как видно, теперь вместо цикла for используется while, что позволяет избавиться от счетчика x. Для этих целей используется переменная lenght. В дальнейшем мы будем использовать один из этих двух шаблонов для написания функций в зависимости от того, имеет ли значение, в какой последовательности производить обработку. В нашем случае получим строку, в которой символы переставлены наоборот, то есть здесь последовательность обработки имеет большое значение.

Выводим все символы ASCII

Скрипт использует встроенные функции MQL4, а также строковые константы новой строки и табуляции для наглядного представления таблицы. Теперь скомпилируйте и запустите его. Вы должны увидеть таблицу символов ASCII:

Рассмотрите ее повнимательнее. Вы заметите абсолютно все символы, которые только могут понадобиться, от цифр и букв до специальных символов, некоторые из которых вы наверняка увидите впервые. Сначала идет код, а потом после знака «=» сам символ. Я выделил некоторые важные наборы символов для большей наглядности:

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

StringUpperCase и StringLowerCase


Это две очень популярные функции для перевода строки в верхний или нижний регистр. Их реализация основана на том факте, что все коды символов букв верхнего регистра на 32 больше букв нижнего регистра. Это можно увидеть, если смотреть по таблице, что мы получили. На практике, если попробовать узнать коды символов ‘А’,’Я’,’а’, ‘я’, например, с помощью такого кода

то получим результаты: А = 192, Я = 223, а = 224 и я = 255 соответственно. Поэтому следует учесть и эту особенность. Рассмотрим исходный код функций:

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

StringCompare

В MQL4 сравнение строк реализовано на уровне операторов с помощью «==». Интересно, что сравнение является регистрозависимым, то есть строки «STRING» и «string» — разные:

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

StringIsDigit

Эта функция проверяет содержимое строки. Если строка состоит только из цифр, то возвращает true, иначе false. Реализация довольно проста и основана на том, что символы цифр расположены в ряд и имеют коды от 48 до 58.

StringIsAlpha

Эта функция позволяет определить подобно предыдущей, состоит ли строка только из букв. Ее реализация аналогична:

Создание библиотеки

Теперь давайте соберем все эти функции в одну библиотеку. Для этого в редакторе MetaEditor 4 кликаем File->New->Library->Далее. В поле name пишем stringProcess и нажимаем на кнопку Готово. Потом вставляем код всех функций, приведенных выше, затем сохраняем. Осталось создать файл с прототипами функций, для этого File->New->Include(*. MQH)->Далее. В поле name пишем stringProcess, -> Готово. Теперь нужно вставить прототипы всех новых функций, а также указать директиву для импорта:

Использование библиотеки stringProcess

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

Заключение

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

ASCII — ASCII

ASCII

MIME / IANA US-ASCII
Псевдоним (ы) ASCII
Язык (ы) английский
классификация серии ISO 646
расширения
  • Unicode
  • ISO 8859 (серия)
  • КОИ-8
  • OEM (серия)
  • Окна-125x (серия)
  • другие
Предшествует ITA 2 , FIELDATA
Преемник ISO 8859 , Unicode
Другое связанное кодирование (ы) PETSCII

ASCII ( / æ S к я / ( слушать ) ASS -kee ), сокращенно от американского стандартного кода для обмена информацией , является кодировка символов стандарт для электронной связи. ASCII коды представляют собой текст в компьютеры, телекоммуникационное оборудование , а также другие устройства. Большинство современных схем символьного кодирования на основе ASCII, хотя они поддерживают множество дополнительных символов.

ASCII является традиционным названием для системы кодирования; Internet Assigned Numbers Authority (IANA) предпочитает обновленное название US-ASCII , в котором разъясняется , что эта система была разработана в США и на основе типографских символов в основном используется там.

ASCII является одним из IEEE вех .

содержание

обзор

ASCII был разработан с телеграфным кодом . Его первое коммерческое использование было как семи- битого телепринтер код продвигаемого услугой передачи данных Bell. Работа по стандарту ASCII началась 6 октября 1960 года, с первым совещанием Американской ассоциацией стандартов «s (ASA) (ныне Американский национальный институт стандартов или ANSI) X3.2 подкомиссии. Первое издание этого стандарта было опубликовано в 1963 году, подвергся существенному пересмотру в течение 1967 года, и произошло самое последнее обновление в течение 1986 года по сравнению с предыдущими кодами телеграфных, предлагаемый Белл код и ASCII оба были заказаны для более удобной сортировки (например, алфавитный ) списков, а также дополнительные функции для отличных телепринтеров устройств.

Первоначально на основе английского алфавита , ASCII кодирует 128 указанные символы в семь-битовых целых чисел , как показано на диаграмме ASCII выше. Девяносто пять закодированных символов печатаемые: они включают в себя цифры до 9 , строчные буквы к г , прописной буквы A до Z , а также знаки препинания . Кроме того, первоначальная спецификация ASCII , включены 33 непечатаемые управляющие коды , которые созданы с телетайпами ; большинство из них в настоящее время устарело, хотя некоторые из них до сих пор широко используется, например, возврат каретки , перевод строки и табуляции кодов.

Так , например, в нижнем регистр я был бы представлены в кодировке ASCII с помощью двоичного 1101001 = шестнадцатеричные 69 ( I представляет девятое письмо) = десятичные 105.

история

Американский стандартный код для обмена информацией (ASCII) был разработан под эгидой комитета по Американской ассоциации стандартов (ASA), под названием X3 комитет, его Х3.2 (позже X3L2) подкомитетом, а позднее Х3 этого подкомитета. 2.4 Рабочая группа (теперь INCITS ). ASA стал Соединенные Штаты Америки института стандартов (USASI) и в конечном счете Американский национальный институт стандартов (ANSI).

С других специальными символами и управляющими кодами , заполненными, ASCII была опубликована в ASA X3.4-1963, оставляя 28 позиций коды без какого — либо назначенного значения, зарезервированных для будущей стандартизации и один неприсвоенного код управления. Существовал некоторые дебаты в то время , должны ли быть больше управляющих символов , а не строчными буквами алфавита. Нерешительность длилось недолго: в мае 1963 года CCITT Рабочая группа по Нью — телеграфного алфавита предложил назначить символы нижнего регистра палок 6 и 7, и Международная организация по стандартизации ТК 97 SC 2 проголосовали в октябре , чтобы включить изменения в свой проект стандарта , Целевая группа X3.2.4 голосовала свое одобрение на смену ASCII на своем заседании в мае 1963 года. Обнаружение строчных букв в палках 6 и 7 вызвавших символов различается по битовой комбинации из верхнего корпуса с помощью одного бита, который упрощенного регистронезависимого согласования символов и конструкции клавиатуры и принтеров.

Комитет X3 внесены другие изменения, в том числе других новых персонажей (в скобе и вертикальных стержневых знаков), переименовав некоторые управляющие символы (SOM стал начало заголовка (SOH)) и перемещение или удаление других (RU был удален). ASCII был впоследствии обновлен в USAS X3.4-1967, затем USAS X3.4-1968, ANSI X3.4-1977, и , наконец, ANSI X3.4-1986.

Пересмотр стандарта ASCII:

  • ASA X3.4-1963
  • ASA X3.4-1965 (утвержден, но не опубликованы, тем не менее , используется IBM 2260 и 2265 станций Display и IBM 2848 Display Control)
  • USAS X3.4-1967
  • USAS X3.4-1968
  • ANSI X3.4-1977
  • ANSI X3.4-1986
  • ANSI X3.4-1986 (R1992)
  • ANSI X3.4-1986 (R1997)
  • ANSI INCITS 4-1986 (R2002)
  • ANSI INCITS 4-1986 (R2007)
  • ANSI INCITS 4-1986 (R2012)


В стандарте X3.15 комитет X3 также рассматривается как ASCII должны быть переданы ( младший значащий бит первый), и как она должна быть записана на перфорированной ленте. Они предложили 9-контактный стандарт для магнитной ленты, и попытались иметь дело с некоторыми перфорированными картами форматами.

Конструктивные соображения

ширина Бит

X3.2 подкомитетом разработан ASCII на основе ранее телетайп систем кодирования. Как и в других кодировках , ASCII определяет соответствие между цифровыми битовыми шаблонами и символами символами (т.е. графемами и управляющими символами ). Это позволяет цифровые устройства , чтобы взаимодействовать друг с другом и обрабатывать, хранить и передавать информацию символьно-ориентированным , такие как письменность. Перед ASCII был разработан, кодировки в использовании включены 26 алфавитных символов, 10 числовых разрядов , и от 11 до 25 специальных графических символов. Для того, чтобы включать в себя все эти и управляющих символы , совместимых с консультативным комитетом по международной Téléphonique и др Télégraphique (МККТТЫ) Международный телеграфный алфавит № 2 (ITA2) стандартом 1924, FIELDATA (1956), и в начале EBCDIC (1963), более 64 кодов были требуется для ASCII.

ITA2, в своей очереди на основе 5-разрядного код телеграфного Эмиль Бодо изобретены в 1870 году и запатентован в 1874 году.

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

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

Внутренняя организация

Сам код был скопирован так , что большинство управляющих кодами были вместе и все графические коды были вместе, для простоты идентификации. Первые две так называемые ASCII палочки (32 позиции) были зарезервированы для управляющих символов. «Пространство» персонаж должен был прийти до графики , чтобы сделать сортировку проще, поэтому она стала позицией 20 шестигранных ; по той же причине, многие специальные признаки , обычно используемые в качестве разделителей были помещены перед цифрами. Комитет решил, что важно поддерживать прописные алфавитов 64-символьные и выбрал шаблон ASCII , так что может быть легко уменьшена до приемлемого набора 64-значного графических кодов, как это было сделано в шестибитной DEC код (1963). Строчные буквы поэтому не чередоваться с прописными буквами. Чтобы сохранить параметры , доступные для строчных букв и других графических, специальные и цифровые коды были организованы перед буквами, а буква была помещена в позиции 41 гекса , чтобы соответствовать проекту соответствующего британского стандарта. Цифры 0-9 имеют префикс 011, а остальные 4 бит соответствует их соответствующим значениям в двоичной системе , что делает преобразование с двоично-десятичном просты.

Некоторые общие символы не были включены, в частности ½¼¢ , в то время как ^`

были включены в качестве диакритиков для международного использования, и <> для математического использования вместе с простыми строками символов \| (в дополнении к общему / ). @ Символ не был использован в континентальной Европе и комитет ожидал , что он будет заменен на ударном À во французском варианте, поэтому @ был помещен в позицию 40 шестнадцатеричном , прямо перед буквой А.

Коды управления чувствовали важное значение для передачи данных было началом сообщения (СДЛ), конец адреса (К), конец сообщения (МЫ), конец передачи (СРВ), «кто ты?» (WRU), «ты?» (RU), управление зарезервировано устройство (DC0), синхронный холостой ход (SYNC), и подтверждение (ACK). Они были расположены , чтобы максимизировать расстояние Хэмминга между их битовыми комбинациями.

порядок символов

Порядок ASCII-код также называется ASCIIbetical заказ. Сопоставление данных иногда делается в этом порядке , а не ( «стандарт» в алфавитном порядке последовательности упорядочения ). Основные отклонения в порядке ASCII являются:

  • Все прописные приходят перед строчными буквами; например, «Z» предшествует «а»
  • Цифры и многие знаки препинания прийти до букв

Промежуточный порядок преобразует прописные буквы в нижний регистр перед сравнением значений ASCII.

группы символов

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

ASCII резервирует первые 32 (цифры 0-31 десятичных) для управляющих символов : коды изначально предназначены не для представления информации для печати, а для управления устройствами (например, принтеры ) , которые используют ASCII, или предоставить метаинформацию о данных потоки , такие , как те , хранящиеся на магнитной ленте.

Например, символ 10 представляет собой функцию «перевод строки» (который вызывает принтер для продвижения его бумаги), и характер 8 представляет собой «Backspace». RFC 2822 относится к управляющие символы , которые не включают в себя возврат каретки, перевод строки или пустое пространство в качестве непробельных управляющих символов. Для управляющих символов , которые предписывают элементарную строковый форматирование Кроме этого , ASCII не определяет никакого механизма для описания структуры или внешний вид текста в документе. Другие схемы, такие как языки разметки , адрес страницы и макета документа и форматирования.

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

Вероятно , самые влиятельное одно устройство на интерпретации этих символов было Телетайпная Модель 33 ASR, которая была печать терминала с имеющимися бумажной лентой вариантами для чтения / пуансона. Бумажная лента была очень популярным средством для длительного хранения программ до 1980 — х лет, менее дорогостоящих и в некоторых отношениях менее хрупких , чем магнитная лента. В частности, телетайп модели 33 машины задания для кодов 17 (Control-Q, DC1, также известный как XON), 19 (Control-S, DC3, также известный как XOFF), и 127 ( Удалить ) стали де — факто стандартами. Модель 33 была также известна для принятия описания Control-G (код 7, Бел, а это означает слышимый предупредить оператор) в буквальном смысле, так как блок содержал фактический колокол которой он звонил , когда он получил BEL характера. Поскольку keytop для ключа O также показал символ с левой стрелкой (от ASCII-1963, который имел этот символ вместо подчеркивания ), неподдерживаемое использование кода 15 (Control-O, Shift В) интерпретируются как «удалить предыдущий символ» был также принят многими системами раннего разделения времени , но в конце концов , стали пренебрегать.

Когда Телетайпный 33 ASR оснащен автоматической считывателем бумажной ленты получили Control-S (XOFF, аббревиатура для передачи в выключенном состоянии ), это вызвало читателя ленты , чтобы остановить; прием Control-Q (XON, «передавать на») вызвал читатель ленты резюме. Эта методика стала принятая несколько ранних компьютерных операционных систем , как «рукопожатия» сигнал предупреждения отправителя , чтобы остановить передачу из — за надвигающейся переполнения; она сохраняется и по сей день во многих системах в качестве ручного метода управления выводом. В некоторых системах Control-S сохраняет свое значение , но Control-Q заменяется вторым Control-S , чтобы возобновить вывод. 33 ASR также может быть выполнен с возможностью использовать Control-R (DC2) и контрольно-Т (DC4) , чтобы начать и остановить ленты удар; на некоторых установок , оборудованных этой функции, соответствующий управляющий символ надписи на KEYCAP над буквой была лента и ЛЕНТА соответственно.

Teletype не мог двигаться голову назад, так что он не положил ключ на клавиатуре , чтобы послать BS (возврат каретки). Вместо этого был ключ с пометкой «rubout» , который послал код 127 (DEL). Целью этого ключа было стереть ошибки в руке типизированной бумажной ленты: оператор должен нажать кнопку на ленту пунше , чтобы поддержать его, затем введите rubout, который пробивал все отверстия и заменили ошибку с характером , который был призван быть проигнорировано. Телетайпы обычно использовались для менее дорогих компьютеров от Digital Equipment Corporation , так что эти системы должны были использовать имеющийся ключ и , таким образом , код DEL , чтобы удалить предыдущий символ. Из — за этого, DEC видеотерминал (по умолчанию) послал код DEL для ключа с пометкой «Backspace» , пока клавиша с пометкой «Удалить» послала управляющую последовательность, в то время как многие другие терминалы послали BS для ключа Backspace. Драйвер Unix терминал может использовать только один код для резервного копирования, это может быть установлен в BS или DEL, но не оба, в результате чего в течение очень долгого периода раздражением , где нужно было исправить это в зависимости от того, что терминал , который вы использовали (современные раковины с помощью Readline понимать как коды). Предположение о том, что ни одна клавиша не послал BS вызвал Control + H , которые будут использоваться для других целей, например, команды «помощи» в Emacs.

Многие больше управляющих кодов даны значения сильно отличаются от своих первоначальных. Символ «побег» (ESC, код 27), например, предполагалось первоначально , чтобы посылать другие управляющие символы в качестве литералов вместо того , чтобы вызывать их значение. Это тот же самый смысл «побег» встречается в URL кодировках, языке C строках и других системах , в которых определенные символы имеют зарезервированное значение. Со временем это значение было кооптировано и в конечном счете , было изменено. В современном использовании, СЭБ отсылаются терминалу обычно указывает на начало последовательности команд , как правило , в виде так называемого « кода убегания ANSI » (или, что более правильно, « устройство ввода управляющей последовательности ») от ECMA-48 ( 1972) и его преемники, начиная с ESC , за которым следует «[» (левый кронштейн) характер. ESC отправляется из терминала чаще всего используется как вне-полоса характера , используемым для завершения операции, как и в TECO и VI текстовых редакторов . В графическом пользовательском интерфейсе (GUI) и оконные системы, ESC , как правило , вызывает приложение , чтобы прервать его текущую операцию или выход (прервать) в целом.

Неустранимая неясность многих управляющих символами, в сочетании с их историческим использованием, создает проблемы при передаче файлов «обычный текст» между системами. Лучшим примером этого является новая строка проблема на различных операционных системах . Телетайпы требуются, чтобы строка текста прекращаются и с «возвратом каретки» (который перемещает печатающую головку в начало строки) и «Line Feed» (который продвигает бумагу на одну строку без перемещения печатающей головки). Название «возврат каретки» исходит из того , что на ручной пишущей машинке каретка держит бумагу перемещается в то время как положение , в котором Typebars ударил ленту оставался неподвижным. Весь вагон должен был быть выдвинут (возвращаемым) вправо, чтобы расположить левый край бумаги для следующей строки.

Декабрь операционные системы ( ОС / 8 , РТ-11 , RSX-11 , RSTS , TOPS-10 и т.д.) , используемые как символы , чтобы отметить конец строки так , чтобы консоль устройства (первоначально телетайпами ) будет работать. К тому времени , так называемый «стеклянный TTYs» (позже называемые кинескопы или терминалы) пришли вместе, соглашение было настолько хорошо установлено , что обратная совместимость требовала продолжения конвенции. Когда Килдалл создал CP / M , он был вдохновлен некоторыми конвенциями интерфейса командной строки , используемых в DEC «s RT-11 . До появления PC DOS в 1981 году, IBM не имел руки в этом , потому что их 1970s операционных систем , используемые EBCDIC вместо ASCII , и они были ориентированы на ввод перфокарт и выход построчного принтера , на котором понятие возврата каретки было бессмысленно. От IBM PC DOS (также продается как MS-DOS с помощью Microsoft) унаследовали конвенции в силу того , свободно на основе CP / M , и Windows , в наследство от MS-DOS.

К сожалению, требует два символа для обозначения конца строки вводят ненужные сложности и вопросы о том , как интерпретировать каждый символ , когда встречаются в одиночку. Для упрощения простой текст потоков данных, включая файлы, на Multics , используемые строки (LF) в одиночку , как признак конца строки. Unix и Unix-подобные системы, и Amiga системы, приняли эту конвенцию от Multics. Оригинальный Macintosh OS , Apple , DOS , и ProDOS , с другой стороны, используется возврат каретки (CR) в одиночку , как признак конца строки; Однако, поскольку компания Apple заменила эти операционные системы с Unix на базе в MacOS операционной системы, они теперь используют строки (LF) , а также. Radio Shack TRS-80 также используется одинокий CR для завершения строк.

Компьютеры , подключенные к ARPANET включены машины под управлением операционных систем , таких как TOPS-10 и Техснабэкспорт с помощью окончаний CR-LF линии, машины под управлением операционных систем , таких как Multics с помощью LF конца строки, и машины с операционными системами , такие как OS / 360 , которая представляла линии как подсчет символов следуют символы линии и что б EBCDIC , а не ASCII. Telnet протокол определен ASCII « Network Virtual Terminal » (НВТ), так что соединения между хостами с различными завершения строк и наборов символов может поддерживаться путем передачи стандартного формата текста по сети. Telnet используется ASCII вместе с CR-LF окончаний линий и программное обеспечение с использованием других конвенций переведут между местными конвенциями и NVT. Протокол передачи файлов был принят протокол Telnet, включая использование виртуального терминала сети, для использования при передаче команд и передачи данных в режиме ASCII по умолчанию. Это добавляет сложности в реализации этих протоколов, и для других сетевых протоколов, таких как те , которые используются для электронной почты и World Wide Web, в системах , не использующих CR-LF концов строк в компании NVT.

PDP-6 монитор, и его PDP-10 преемником TOPS-10, используется Control-Z (SUB) в качестве конца-файла индикации для ввода из терминала. Некоторые операционные системы , такие как CP / M отслеживается длиной файла только в единицах дисковых блоков и использовать Control-Z , чтобы отметить окончание фактического текста в файле. По этим причинам, EOF, или с истекшим файла , был использован в просторечии и условно , как три-буквы аббревиатуры для Control-Z вместо заменителя. Истекшим текста кода ( ETX ), также известный как Control-C , нецелесообразно по ряду причин, при использовании Z в качестве управляющего кода до конца файла аналогичен ему окончание алфавита и служит очень удобным мнемоника помощь . Исторически распространенные и до сих пор широко распространены конвенции используют код конвенцию ETX , чтобы прервать и остановить программу с помощью входного потока данных, как правило , с помощью клавиатуры.

В библиотеке C и Unix конвенций, то нулевой символ используется для завершения текстовых строк ; такие строки с нулевым символом- могут быть известны в аббревиатуре как ASCIZ или ASCIIZ, где здесь Z означает «ноль».

двоичный октябрь декабрь наговор Сокращение Имя (1967)
1963 1965 1967
000 0000 000 00 НОЛЬ NUL ^@ \0 Ноль
000 0001 001 1 01 SOM SOH ^A Начало Heading
000 0010 002 2 02 EOA STX ^B Начало текста
000 0011 003 3 03 МНВ ETX ^C Конец текста
000 0100 004 4 04 СРВ ^D Конец передачи
000 0101 005 5 05 WRU ENQ ^E запрос
000 0110 006 6 06 RU ACK ^F Подтверждение
000 0111 007 7 07 BELL BEL ^G \a колокол
000 1000 010 8 08 FE0 BS ^H \b возврат на одну позицию
000 1001 011 9 09 HT / SK HT ^I \t Вкладка Горизонтальный
000 +1010 012 10 0A LF ^J \n линия подачи
000 1011 013 11 0B VTAB Вермонт ^K \v Вкладка Вертикальная
000 1100 014 12 0C FF ^L \f прогон страницы
000 1101 +015 13 0D CR ^M \r Возврат каретки
000 1110 016 14 0E ТАК ^N переключение на дополнительный регистр
000 1111 +017 15 0F SI ^O Перейти в
001 0000 020 16 10 DC0 DLE ^P Канальный побег
001 0001 021 17 11 DC1 ^Q Управление устройством 1 (часто XON )
001 0010 022 18 12 DC2 ^R Управление устройством 2
001 0011 023 19 13 DC3 ^S Устройство управления 3 (часто XOFF )
001 0100 024 20 14 DC4 ^T Устройство управления 4
001 0101 025 21 15 ERR NAK ^U отрицательное квитирование
001 0110 026 22 16 SYNC SYN ^V Синхронный Idle
001 0111 027 23 17 LEM ETB ^W Конец блока передачи
001 1000 +030 24 18 S0 МОЖНО ^X отменить
001 1001 031 25 19 S1 ЭМ ^Y Конец носителя
001 1010 032 26 1A S2 SS SUB ^Z Замена
001 1011 033 27 S3 ESC ^[ \e Побег
001 1100 034 28 S4 FS ^\ Файл Separator
001 1101 035 29 1D S5 GS ^] разделитель групп
001 1110 036 30 1E S6 RS ^^ разделитель записей
001 1111 037 31 1F S7 НАС ^_ разделитель элементов
111 1111 177 127 7F DEL ^? удалять

Другие представления могут быть использованы специальным оборудованием, например , ISO 2047 графиков или шестнадцатеричных числа.

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


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

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

Код 7F гекс соответствует непечатаемому «удалить» (DEL) управляющего символом и поэтому опускается из этой таблицы; она покрыта в графике предыдущей секции. Более ранние версии ASCII используются стрелка вверх вместо каретки (5E шестигранного ) и левой стрелки вместо подчеркивания (5F гекса ).

Предназначение

Заданная виртуальная клавиша не транслируется для текущего состояния клавиатуры.

Один символ был скопирован в буфер.

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

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

Как правило, ToAscii исполняет трансляцию, опираясь на код виртуальной клавиши. Однако в некоторых случаях, бит 15 параметра uScanCode может быть использован, чтобы различить между нажатием клавиши и её отпуском. Скэн-код используется для трансляции комбинации клавиш ALT + числовая клавиша .

Хотя NUM LOCK — клавиша — переключатель, которая воздействует на поведение клавиатуры, ToAscii игнорирует установку переключателя (младший бит) lpKeyState ( VK_NUMLOCK ), потому что одного параметра uVirtKey достаточно, чтобы отличить клавиши управления курсором ( VK_HOME , VK_INSERT и так далее) от числовых клавиш ( VK_DECIMAL , VK_NUMPAD0VK_NUMPAD9 ).

Кодировка ASCII

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

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

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

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

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

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. Например:

Илон Маск рекомендует:  PtInRect - Функция Delphi
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL
двоичный октябрь декабрь наговор глиф
1963 1965 1967
010 0000 040 32 20 пространство
010 0001 041 33 21 !
010 0010 042 34 22 »
010 0011 043 35 23 #
010 0100 044 36 24 $
010 0101 045 37 25 %
010 0110 046 38 26 &
010 0111 047 39 27
010 1000 050 40 28 (
010 1001 051 41 29 )
010 1010 052 42 2A *
010 1011 053 43 2B +
010 1100 054 44 ,
010 1101 +055 45 2D
010 1110 056 46 2E ,
010 1111 057 47 2F /
011 0000 060 48 30 0
011 0001 061 49 31 1
011 0010 062 50 32 2
011 0011 063 51 33 3
011 0100 064 52 34 4
011 0101 065 53 35 5
011 0110 066 54 36 6
011 0111 067 55 37 7
011 1000 070 56 38 8
011 1001 071 57 39 9
011 1010 072 58 3A :
011 1011 073 59 3B ;
011 1100 074 60 3C
011 1101 075 61 3D знак равно
011 1110 076 62 3E >
011 1111 077 63 3F ?
100 0000 100 64 40 @ ` @
100 0001 101 65 41 A
100 0010 102 66 42 В
100 0011 103 67 43 С
100 0100 104 68 44 D
100 0101 105 69 45 Е
100 0110 106 70 46 F
100 0111 107 71 47 г
100 1000 110 72 48 ЧАС
100 1001 111 73 49 я
100 +1010 112 74 4A J
100 1011 113 75 К
100 1100 114 76 4C L
100 1101 115 77 4D M
100 1110 116 78 4E N
100 1111 117 79 4F О
101 0000 120 80 50 п
101 0001 121 81 51 Q
101 0010 122 82 52 р
101 0011 123 83 53 S
101 0100 124 84 54 T
101 0101 125 85 55 U
101 0110 126 86 56 В
101 0111 127 87 57 W
101 1000 130 88 58 Икс
101 1001 131 89 59 Y
101 1010 132 90 5A Z
101 1011 133 91 [
101 1100 134 92 5C \ \
101 1101 135 93 5D ]
101 1110 136 94 5E ^
101 1111 137 95 5F _
110 0000 140 96 60 @ `
110 0001 141 97 61 a
110 0010 142 98 62 б
110 0011 143 99 63 с
110 0100 144 100 64 d
110 0101 145 101 65 е
110 0110 146 102 66 е
110 0111 147 103 67 г
110 1000 150 104 68 час
110 1001 151 105 69 я
110 1010 152 106 6A J
110 1011 153 107 6B К
110 1100 154 108 6C L
110 1101 155 109 6D м
110 1110 156 110 6E N
110 1111 157 111 6F о
111 0000 160 112 70 п
111 0001 161 113 71 Q
111 0010 162 114 72 р
111 0011 163 115 73 s
111 0100 164 116 74 T
111 0101 165 117 75 U
111 0110 166 118 76 v
111 0111 167 119 77 вес
111 1000 170 120 78 Икс
111 1001 171 121 79 Y
111 1010 172 122 7A Z
111 1011 173 123 <
111 1100 174 124 ACK ¬ |
111 1101 175 125 7D >
111 1110 176 126 7E ESC |

Набор символов

ASCII (1977/1986)

_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
NUL
0000
SOH
0001
STX
0002
ETX
0003
СРВ
0004
ENQ
0005
ACK
0006
BEL
0007
BS
0008
HT
0009
LF
000A
VT
000B
FF
000C
CR
000D
SO
000E
SI
000F
1_
16
DLE
0010
DC1
0011
DC2
0012
DC3
0013
DC4
0014
NAK
0015
SYN
0016
ETB
0017
CAN
0018
EM
0019
SUB
001A
ESC
001B
FS
001C
GS
001D
RS
001E
США
001F
2_
32
SP
0020
!
0021
»
0022
#
0023
$
0024
%
0025
&
0026

0027
(
0028
)
0029
*
002A
+
002B
,
002C

002D
,
002E
/
002F
3_
48
0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
003C =
003D
>
003E
?
003F
4_
64
@
0040
0041 B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
Я
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_
80
P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
В
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D
^
005E
_
005F
6_
96
`
0060
0061 б
0062
с
0063
д
0064
е
0065
е
0066
г
0067
ч
0068
я
0069
J
006A
к
006b
л
006C
м
006D
п
006E
о
006F
7_
112
р
0070
д
0071
г
0072
s
0073
т
0074
у
0075
v
0076
ж
0077
х
0078
у
0079
г
007A
<
007B
|
007C
>
007D

007E

DEL
007F

Письмо Номер пунктуация Символ Другие Неопределенные Измененный от 1963 версии

использование

ASCII был впервые использован коммерчески в течение 1963 как семь-битного кода телетайп для American Telephone & Telegraph сети «s TWX (телетайп ОБМЕН). TWX первоначально использовалась ранее пять-битной ITA2 , который также был использован конкурирующим Телекс системы телетайпа. Боб Bemer введены таких функций, как управляющая последовательность . Его британский коллега Хью McGregor Росс помог популяризировать эту работу — по Bemer, «так что код , который должен был стать ASCII был первым называется Bemer-Росс кодекс в Европе». Из — за своей обширной работы по ASCII, Bemer был назван «отцом ASCII».

С 11 марта 1968 года, президент США Линдон Джонсон постановил , что все компьютеры , приобретенных федерального правительство Соединенных Штатов поддержки ASCII, заявив:

Я также одобрил рекомендацию министра торговли [ Лютер Х. Ходжес ] в отношении стандартов для записи стандартного кода для обмена информации на магнитных лентах и бумажные лентах , когда они используются в компьютерных операциях. Все компьютеры и конфигурация оборудования , связанная с доставляться в инвентарь федерального правительства, и после 1 июля 1969 года, должны иметь возможность использовать стандартный код для обмена информации и форматы прописанных магнитных стандартами ленты и бумажной ленты при использовании этих средств массовой информации.

ASCII была наиболее распространенной кодировки символов на World Wide Web до декабря 2007 года, когда UTF-8 кодирование превосходил его; UTF-8 обратно совместима с ASCII.

Варианты и производные

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

7-битные коды

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

Другие органы международных стандартов ратифицировали кодировки символов , такие как ISO 646 (1967), которые идентичны или почти идентичны ASCII, с расширениями для символов вне английского алфавита и символов , используемых за пределами Соединенных Штатов, такие как символ Соединенного Королевства фунтов стерлингов (£). Почти каждая страна нуждалась в адаптированной версии ASCII, так как ASCII подходит потребности только в США и некоторых других странах. Например, Канада имела свою собственную версию , которая поддерживает французские символы.

Многие другие страны разработали варианту ASCII включить не английские буквы (например , é , ñ , ß , Ł ), символы валют (например , £ , ¥ ), и т.д. Смотрите также YUSCII (Югославия).

Он разделит большинство символов общих, но назначить другие локально полезные символы нескольких точек коды , зарезервированных для «использования на национальном уровне ». Тем не менее, за четыре года , что прошло между публикацией ASCII-1963 и первого принятия ИСО международной рекомендации в течение 1967 года вызвал выбор ASCII для национальных символов используют , чтобы , как представляется, де — факто стандарты для мира, что приводит к путанице и несовместимости раз в других странах даже начинают делать свои собственные задания по этим точкам коды.

ISO / IEC 646, как ASCII является 7-битным набором символов. Он не делает никаких дополнительные коды доступны, так что одни и те же кодовые точки закодированы различные символы в разных странах. Символьные коды были определены, чтобы указать, какой национальный вариант применяется к части текста, но они редко используются, так что часто невозможно знать, какой вариант для работы и, следовательно, какой символ кода представлен, и в общем, Шрифтом- системы обработки может справиться только один вариант в любом случае.

Поскольку скобка и скобка символы ASCII были назначены на «национальное использование» точки коды, которые были использованы для акцентированных букв в других национальных вариантах ISO / IEC 646, немецкого, французского, или Швеции, и т.д. программист, используя свой национальный вариант ISO / IEC 646, а не ASCII, приходилось писать, и, таким образом, читать, что-то такое, как

C триграфы были созданы , чтобы решить эту проблему для ANSI C , хотя их позднее введение и непоследовательное выполнение в компиляторах ограничивали их применение. Многие программисты сохранили свои компьютеры в US-ASCII, так что обычный текст на шведском, немецком и т.д. (например, по электронной почте или Usenet ) содержала «<>» и аналогичные варианты в середине слова, что — то эти программисты получили использовал к. Например, шведский программист рассылки другой программист с просьбой , если они должны пойти на обед, могли бы получить «N <ОКГ хар см | Rg>сар» в качестве ответа, который должен быть «nà ОКГ хар smörgåsar» означает «Нет у меня бутерброды».

8-битовые коды

В конце концов, в 8-, 16- и 32-битных (и более поздних версий 64-бит ) компьютеры начали заменять 12- , 18- и 36-разрядные компьютеры , как норма, это стало обычным использовать 8-битный байт для хранения каждого символ в памяти, обеспечивая возможность для протяженных, 8-битовых родственников ASCII. В большинстве случаев они разработаны как истинные расширения ASCII, оставляя исходный символ картографию нетронутым, но добавление дополнительных определений символов после первых 128 (то есть, 7-бит) символов.

Кодировки включают ISCII (Индия), VISCII (Вьетнам). Хотя эти кодировки иногда называют ASCII, правда ASCII определяется строго только по стандарту ANSI.

Большинство ранних домашних компьютерных систем разработали свои собственные наборы 8-бит символов , содержащих рисования линий и игры глифы, и часто заполнены некоторые или все управляющие символы от 0 до 31 с более графикой. Kaypro CP / M компьютеры использовали «верхние» 128 символов для греческого алфавита.

PETSCII код Коммодор Международный используется для их 8-битных систем, вероятно , уникален среди пост-1970 кодов в настоящее время на основе ASCII-1963, вместо более общего ASCII-1967, например, найти на ZX Spectrum компьютера. Atari 8-разрядные компьютеры и Galaksija компьютеры также используются варианты ASCII.

IBM PC определить кодовую страницу 437 , который заменил управляющие символы с графическими символами , такие как смайлики , и отображаются дополнительные графические символы на верхние 128 позиций. Операционные системы , такие как DOS поддерживает эти кодовые страницы, и производители компьютеров IBM поддерживали их на аппаратном уровне . Digital Equipment Corporation разработала многонациональный набор символов (декабрь-MCS) для использования в популярном VT220 терминале в качестве одного из первых расширений , предназначенных больше для международных языков , чем для блока графики. Macintosh определяется Mac OS римлянина и Postscript также определен набор, оба этих содержащихся как в международных писем и типографских знаков препинания вместо графики, более как современные наборы символов.

8859 ИСО / МЭК стандарт (полученный из DEC-MCS) , наконец , при условии , стандарт , что большинство систем скопированный (по крайней мере настолько точно , как они копируются ASCII, но с большим количеством замен). Популярное дальнейшее расширение разработанного Microsoft, Windows-1252 (часто помечаются как ISO-8859-1 ), добавило типографские знаки препинания , необходимое для традиционной печати текста. ISO-8859-1, Windows-1252, и оригинальный 7-битный ASCII были наиболее распространенных кодировок до 2008 года , когда UTF-8 стал более распространенным явлением.

ИСО / МЭК 4873 введен 32 дополнительных коды управления , определенные в 80-9F шестнадцатеричного диапазоне, как часть расширения 7-битный ASCII кодировки , чтобы стать 8-битной системой.

Unicode

Unicode и ISO / IEC 10646 Universal Character Set (UCS) , имеют гораздо более широкий массив символов и их различные формы кодирования, начали вытеснять ISO / IEC 8859 и ASCII быстро во многих средах. В то время как ASCII — ограничена до 128 символов, Unicode и UCS поддерживать большее количество символов, разделяя понятия уникальной идентификации ( с использованием натуральных чисел , называемые кодовые точки ) и кодирование (с 8-, 16- или 32-битовых двоичных форматов, называется UTF-8 , UTF-16 и UTF-32 ).

ASCII , был включен в Unicode (1991) набор символов , как первые 128 символов, так что 7-битовые символы ASCII имеют одинаковые цифровые коды в обеих наборах. Это позволяет UTF-8 , чтобы быть обратно совместим с 7-битного ASCII, в виде файла в UTF-8 , содержащий только символы ASCII идентичен файлу ASCII , содержащий ту же последовательность символов. Еще более важно, прямая совместимость обеспечивается как программное обеспечение , которое распознает только 7-битные символы ASCII , как особый и не изменяет байты с наивысшим установленным битом (как это часто делается для поддержки 8-битные расширения ASCII , такие как ISO-8859-1) сохранит UTF-8 данные без изменений.


Функция ToAscii

Функция ToAscii транслирует заданный код виртуальной клавиши и состояние клавиатуры в соответствующий символ или символы. Функция транслирует код, используя язык ввода данных и физическую раскладку клавиатуры, идентифицированную дескриптором раскладки клавиатуры.

Чтобы установить дескриптор раскладки клавиатуры, который используется для трансляции указанного кода, используйте функцию ToAsciiEx .

[in] Определяет код виртуальной клавиши, который будет оттранслирован.

[in] Определяет аппаратный скэн-код клавиши, которая будет оттранслирована. Старший бит этого значения установлен, если клавиша вверху (не нажата).

[in] Указатель на 256-байтовый массив, который содержит текущее состояние клавиатуры. Каждый элемент (байт) в массиве содержит состояние в одной из клавиш. Если старший бит байта установлен, клавиша — внизу (нажата).

Если установлен младший бит, он указывает на то, что клавиша переключилась. В этой функции важен только бит переключения клавиши CAPS LOCK. Состояние переключения клавиш NUM LOCK и SCROLL LOCK игнорируется.

[out] Указатель на буфер, который примет оттранслированный символ или символы.

[in] Определяет, является ли меню активным. Этот параметр должен быть 1, если меню активно, или иначе 0.

Если заданная клавиша — мертвая клавиша, величина возвращаемого значения отрицательная. Иначе, она равна одному из следующих значений:

Значение