- •Вопросы по информатике.
- •Основы вычислительной техники. Поколение вычислительных машин, архитектура машин.
- •П околение эвм
- •Поколение эвм. Характерные черты:
- •III. Поколение эвм. Характерные черты:
- •Поколения эвм
- •Устройства автоматизированного ввода информации
- •Устройства вывода информации
- •Принтеры
- •Другие устройства вывода информации
- •Основные принципы и методы хранения информации.
- •Системы кодировок.
- •Файловая система, файл.
- •Характеристики
- •Спецификация файлов.
- •Обзор программного обеспечения.
- •Операционные системы.
- •Прикладное программное обеспечение.
- •Системное программное обеспечение. Обзор этих программ.
- •Автоматизированное рабочее место.
- •Вирусы. Антивирусные программы.
- •Защита информации.
- •Лицензированное программное обеспечение.
- •Локальные и глобальные сети. Схема.
- •Типология локальных сетей.
- •Переорганизация сети.
- •Понятие сервера. Виды серверов.
- •Браузеры.
- •Драйверы.
- •Система компьютерной графики.
- •Системы обработки текстов.
- •Табличные процессоры.
- •Глава 2. Обзор наиболее популярных табличных процессоров
- •Система управления базами данных.
- •Глава1. Базы данных
- •Глава 2. Система управления базами данных
- •Система программирования.
- •Применение информационных технологий в экономике.
- •Справочная система.
- •Специализированные программные обеспечения для экономистов.
- •Кооперативные системы.
- •Системы электронного управления документооборота.
- •Понятие об информационных процессах.
- •Гипертекст.
- •Понятие об электронном документе. Электронная подпись.
Системы кодировок.
Любая информация кодируется в ЭВМ с помощью последовательностей двух цифр - 0 и 1. ЭВМ хранит и обрабатывает информацию в виде комбинации электрических сигналов: напряжение 0.4В-0.6В соответствует логическому нулю, а напряжение 2.4В-2.7В - логической единице. Последовательности из 0 и 1 называются двоичными кодами, а цифры 0 и 1 - битами (двоичными разрядами). Такое кодирование информации на компьютере называется двоичным кодированием. Таким образом, двоичное кодирование - это кодирование с минимально возможным числом элементарных символов, кодирование самыми простыми средствами. Тем оно и замечательно с теоретической точки зрения.
Инженеров двоичное кодирование информации привлекает тем, что легко реализуется технически. Электронные схемы для обработки двоичных кодов должны находиться только в одном из двух состояний: есть сигнал или нет сигнала или высокое напряжение/низкое напряжение.
ЭВМ в своей работе оперируют действительными и целыми числами, представленными в виде двух, четырёх, восьми и даже десяти байт. Для представления знака числа при счёте используется дополнительный знаковый разряд, который обычно располагается перед числовыми разрядами. Для положительных чисел значение знакового разряда равно 0, а для отрицательных чисел - 1. Для записи внутреннего представления целого отрицательного числа (-N) необходимо:
1) получить дополнительный код числа N заменой 0 на 1 и 1 на 0;
2) к полученному числу прибавить 1.
Так как одного байта для представления этого числа недостаточно, оно представлено в виде 2 байт или 16 бит, его дополнительный код: 1111101111000101, следовательно, -1082=1111101111000110.
Если бы ПК мог работать только с одиночными байтами, пользы от него было бы немного. Реально ПК работает с числами, которые записываются двумя, четырьмя, восемью и даже десятью байтами.
Начиная с конца 60-х годов компьютеры всё больше стали использоваться для обработки текстовой информации. Для представления текстовой информации обычно используется 256 различных символов, например большие и малые буквы латинского алфавита, цифры, знаки препинания и т.д. В большинстве современных ЭВМ каждому символу соответствует последовательность из восьми нулей и единиц, называемая байтом.
Байт – это восьмиразрядная комбинация нулей и единиц.
При кодировании информации в этих электронно-вычислительных машинах используют 256 разных последовательностей из 8 нулей и единиц, что позволяет закодировать 256 символов. Например большая русская буква «М» имеет код 11101101, буква «И» - код 11101001, буква «Р» - код 11110010. Таким образом, слово «МИР» кодируется последовательностью из 24 бит или 3 байт: 111011011110100111110010.
Количество бит в сообщении называется информационным объёмом сообщения.
ASCII (англ. American Standard Code for Information Interchange) — американская стандартная кодировочная таблица для печатных символов и некоторых специальных кодов. В американском варианте английского языка произносится [э́ски], тогда как в Великобритании чаще произносится [а́ски]; по-русски произносится также [аски] или [аски́].
ASCII представляет собой кодировку для представления десятичных цифр, латинского и национального алфавитов, знаков препинания и управляющих символов. Изначально разработанная как 7-битная, с широким распространением 8-битного байта ASCII стала восприниматься как половина 8-битной. В компьютерах обычно используют расширения ASCII с задействованной второй половиной байта (например КОИ-8)
Наложение символов
Благодаря символу BS (возврат на шаг) на принтере можно печатать один символ поверх другого. В ASCII было предусмотрено добавление таким образом диакритики к буквам, например:
a BS ' → á
a BS ` → à
a BS ^ → â
o BS / → ø
c BS , → ç
n BS ~ → ñ
Примечание: в старых шрифтах апостроф ' рисовался с наклоном влево, а тильда ~ была сдвинута вверх, так что они как раз подходили на роль акута и тильды сверху.
Если на символ накладывается тот же символ, то получается эффект жирного шрифта, а если на символ накладывается подчёркивание, то получается подчёркнутый текст.
a BS a → a
a BS _ → a
Примечание: это используется, например, в справочной системе man.
Национальные варианты ASCII
Стандарт ISO 646 (ECMA-6) предусматривает возможность размещения национальных символов на месте @ [ \ ] ^ ` { | } ~. В дополнение к этому, на месте # может быть размещён £, а на месте $ — ¤. Такая система хорошо подходит для европейских языков, где нужны лишь несколько дополнительных символов. Вариант ASCII без национальных символов называется US-ASCII, или «International Reference Version».
Для некоторых языков с нелатинской письменностью (русского, греческого, арабского, иврита) существовали более радикальные модификации ASCII. Одним из вариантов был отказ от строчных латинских букв — на их месте размещались национальные символы (для русского и греческого — только заглавные буквы). Другой вариант — переключение между US-ASCII и национальным вариантом «на лету» с помощью символов SO (Shift Out) и SI (Shift In) — в этом случае в национальном варианте можно полностью устранить латинские буквы и занять всё пространство под свои символы. См. также КОИ-7.
Впоследствии оказалось удобнее использовать 8-битные кодировки (кодовые страницы), где нижнюю половину кодовой таблицы (0—127) занимают символы US-ASCII, а верхнюю (128—255) — дополнительные символы, включая набор национальных символов. Таким образом, верхняя половина таблицы ASCII до повсеместного внедрения Юникода активно использовалась для представления локализированных символов, букв местного языка. Отсутствие единого стандарта размещения кириллических символов в таблице ASCII доставляло множество проблем с кодировками (КОИ-8, Windows-1251 и другие). Другие языки с нелатинской письменностью тоже страдали из-за наличия нескольких разных кодировок.
В Юникоде первые 128 символов тоже совпадают с соответствующими символами US-ASCII.
Кодировка
|
.0 |
.1 |
.2 |
.3 |
.4 |
.5 |
.6 |
.7 |
.8 |
.9 |
.A |
.B |
.C |
.D |
.E |
.F |
0. |
NUL |
SOH |
STX |
ETX |
EOT |
ENQ |
ACK |
BEL |
BS |
TAB |
LF |
VT |
FF |
CR |
SO |
SI |
1. |
DLE |
DC1 |
DC2 |
DC3 |
DC4 |
NAK |
SYN |
ETB |
CAN |
EM |
SUB |
ESC |
FS |
GS |
RS |
US |
2. |
|
! |
" |
# |
$ |
% |
& |
' |
( |
) |
* |
+ |
, |
— |
. |
/ |
3. |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
: |
; |
< |
= |
> |
? |
4. |
@ |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
5. |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
[ |
\ |
] |
^ |
_ |
6. |
` |
A |
b |
c |
D |
e |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
7. |
p |
q |
r |
s |
T |
u |
v |
w |
x |
y |
z |
{ |
| |
} |
~ |
DEL |
Символ 0x5e в первой версии стандарта ASCII (1963) соответствовал стрелке вверх, а символ 0x5f — стрелке влево. Стандарт ECMA-6 (1965) заменил их на знак вставки, (используемый также в роли циркумфлекса) и нижнюю черту (подчёркивание) соответственно.
Управляющие символы
Поскольку ASCII изначально предназначался для обмена информацией (по телетайпу), в нём, кроме информационных символов, используются символы-команды для управления связью. Это обычный набор спецсигналов, применявшийся и в других докомпьютерных средствах обмена сообщениями (азбука Морзе, семафорная азбука), дополненный с учётом специфики устройства.
(После названия каждого символа указан его 16-ричный код)
NUL, 00 — Null, пустой. Всегда игнорировался. На перфолентах 1 представлялась отверстием, 0 — отсутствием отверстия. Поэтому пустые части перфоленты до начала и после конца сообщения состояли из таких символов. Сейчас используется во многих языках программирования как конец строки. (Строка понимается как последовательность символов.) В некоторых операционных системах NUL — последний символ любого текстового файла.
SOH, 01 — Start Of Heading, начало заголовка.
STX, 02 — Start of Text, начало текста. Текстом называлась часть сообщения, предназначенная для печати. Адрес, контрольная сумма и т. д. входили или в заголовок, или в часть сообщения после текста.
ETX, 03 — End of Text, конец текста. Здесь телетайп прекращал печатать. Использование символа Ctrl-C, имеющего код 03, для прекращения работы чего-то (обычно программы), восходит ещё к тем временам.
EOT, 04 — End of Transmission, конец передачи. В системе UNIX Ctrl-D, имеющий тот же код, означает конец файла при вводе с клавиатуры.
ENQ, 05 — Enquire. Прошу подтверждения.
ACK, 06 — Acknowledgement. Подтверждаю.
BEL, 07 — Bell, звонок, звуковой сигнал. Сейчас тоже используется. В языках программирования C и C++ обозначается \a.
BS, 08 — Backspace, возврат на один символ. Сейчас стирает предыдущий символ.
TAB, 09 — Tabulation. Обозначался также HT — Horizontal Tabulation, горизонтальная табуляция. Во многих языках программирования обозначается \t .
LF, 0A — Line Feed, перевод строки. Сейчас в конце каждой строчки текстового файла ставится либо этот символ, либо CR, либо и тот и другой (CR, затем LF), в зависимости от операционной системы. Во многих языках программирования обозначается \n и при выводе текста приводит к переводу строки.
VT, 0B — Vertical Tab, вертикальная табуляция.
FF, 0C — Form Feed, новая страница.
CR, 0D — Carriage Return, возврат каретки. Во многих языках программирования этот символ, обозначаемый \r, можно использовать для возврата в начало строчки без перевода строки. В некоторых операционных системах этот же символ, обозначаемый Ctrl-M, ставится в конце каждой строчки текстового файла перед LF.
SO, 0E — Shift Out, измени цвет ленты (использовался для двуцветных лент; цвет менялся обычно на красный). В дальнейшем обозначал начало использования национальной кодировки.
SI, 0F — Shift In, обратно к Shift Out.
DLE, 10 — Data Link Escape, следующие символы имеют специальный смысл.
DC1, 11 — Device Control 1, 1-й символ управления устройством — включить устройство чтения перфоленты.
DC2, 12 — Device Control 2, 2-й символ управления устройством — включить перфоратор.
DC3, 13 — Device Control 3, 3-й символ управления устройством — выключить устройство чтения перфоленты.
DC4, 14 — Device Control 4, 4-й символ управления устройством — выключить перфоратор.
NAK, 15 — Negative Acknowledgment, не подтверждаю. Обратно к Acknowledgment.
SYN, 16 — Synchronization. Этот символ передавался, когда для синхронизации было необходимо что-нибудь передать.
ETB, 17 — End of Text Block, конец текстового блока. Иногда текст по техническим причинам разбивался на блоки.
CAN, 18 — Cancel, отмена (того, что было передано ранее).
EM, 19 — End of Medium, кончилась перфолента и т. д.
SUB, 1A — Substitute, подставить. Ставится на месте символа, значение которого было потеряно или испорчено при передаче. Сейчас Ctrl-Z используется как конец файла при вводе с клавиатуры в системах DOS и Windows. У этой функции нет никакой очевидной связи с символом SUB.
ESC, 1B — Escape. Следующие символы — что-то специальное.
FS, 1C — File Separator, разделитель файлов.
GS, 1D — Group Separator, разделитель групп.
RS, 1E — Record Separator, разделитель записей.
US, 1F — Unit Separator, разделитель юнитов. То есть поддерживалось 4 уровня структуризации данных: сообщение могло состоять из файлов, файлы из групп, группы из записей, записи из юнитов.
DEL, 7F — Delete, стереть последний символ. Символом DEL, состоящим в двоичном коде из всех единиц, можно было забить любой символ. Устройства и программы игнорировали DEL так же, как NUL. Код этого символа происходит из первых текстовых процессоров с памятью на перфоленте: в них удаление символа происходило забиванием его кода дырочками (обозначавшими логические единицы).
Структурные свойства таблицы
Цифры 0—9 представляются своими двоичными значениями (например, 5=01012), перед которыми стоит 00112. Таким образом, двоично-десятичные числа (BCD) превращаются в ASCII-строку с помощью простого добавления слева 00112 к каждому двоично-десятичному полубайту.
Буквы A-Z верхнего и нижнего регистров различаются в своём представлении только одним битом, что упрощает преобразование регистра и проверку на диапазон. Буквы представляются своими порядковыми номерами в алфавите, записанными в 2-ичной системе счисления, перед которыми стоит 1002 (для букв верхнего регистра) или 1102 (для букв нижнего регистра).
Представление ASCII в ЭВМ
На подавляющем большинстве современных компьютеров минимально адресуемая единица памяти — 8-битный байт, поэтому там используются 8-битные, а не 7-битные символы. Обычно символ ASCII расширяют до 8 бит, просто добавляя один нулевой бит в качестве старшего.
На компьютерах системы IBM/360, однако, в случае использования ASCII применялся другой метод: 6-й бит (если считать самый младший бит первым) перемещается в 7-й, а бывший 7-й «раздваивается» и копируется и в 8-й бит, и в 6-й. Получается такая таблица:
|
.0 |
.1 |
.2 |
.3 |
.4 |
.5 |
.6 |
.7 |
.8 |
.9 |
.A |
.B |
.C |
.D |
.E |
.F |
0. |
NUL |
SOM |
EOA |
EOM |
EQT |
WRU |
RU |
BELL |
BKSP |
HT |
LF |
VT |
FF |
CR |
SO |
SI |
1. |
DC0 |
DC1 |
DC2 |
DC3 |
DC4 |
ERR |
SYNC |
LEM |
S0 |
S1 |
S2 |
S3 |
S4 |
S5 |
S6 |
S7 |
2. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4. |
BLANK |
! |
" |
# |
$ |
% |
& |
' |
( |
) |
* |
+ |
, |
— |
. |
/ |
5. |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
: |
; |
< |
= |
> |
? |
6. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A. |
@ |
A |
B |
C |
D |
E |
F |
G |
H |
I |
J |
K |
L |
M |
N |
O |
B. |
P |
Q |
R |
S |
T |
U |
V |
W |
X |
Y |
Z |
[ |
\ |
] |
↑ |
← |
C. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
D. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
E. |
|
a |
b |
c |
d |
E |
f |
g |
h |
i |
j |
k |
l |
m |
n |
o |
F. |
p |
q |
r |
s |
t |
U |
v |
w |
x |
y |
z |
|
|
|
ESC |
DEL |
На тех компьютерах, где минимально адресуемой единицей памяти было 36-битное слово, поначалу использовали 6-битные символы (1 слово = 6 символов). После перехода на ASCII на таких компьютерах в одном слове стали размещать либо 5 семибитных символов (1 бит оставался лишним), либо 4 девятибитных символа.
ASCII-коды используются также для определения нажатой клавиши при программировании. Для стандартной QWERTY-клавиатуры таблица кодов выглядит следующим образом:
Escape
27 |
|
F1
112 |
F2
113 |
F3
114 |
F4
115 |
F5
116 |
F6
117 |
F7
118 |
F8
119 |
F9
120 |
F10
121 |
F11
122 |
F12
123 |
Print Screen |
Scroll Lock
145 |
Pause
19 |
|
||||||||||||||
`ё
192 |
1
49 |
2
50 |
3
51 |
4
52 |
5
53 |
6
54 |
7
55 |
8
56 |
9
57 |
0
48 |
-
189 |
=+
187 |
Back Space
8 |
Insert
45 |
Home
36 |
Page Up
33 |
Num Lock
144 |
/ доп.
111 |
* доп.
106 |
+ доп.
107 |
|||||||||||
Tab
9 |
Q
81 |
W
87 |
E
69 |
R
82 |
T
84 |
Y
89 |
U
85 |
I
73 |
O
79 |
P
80 |
[
219 |
]
221 |
|
Delete
46 |
End
35 |
Page Down
34 |
7 доп.
109 |
8 доп.
107 |
9 доп.
105 |
||||||||||||
Caps Lock
20 |
A
65 |
S
83 |
D
68 |
F
70 |
G
71 |
H
72 |
J
74 |
K
75 |
L
76 |
;ж
186 |
'э
222 |
Enter
13 |
|
|
|
4 доп.
100 |
5 доп.
101 |
6 доп.
102 |
Enter доп.
13 |
||||||||||||
Shift
16 |
Z
90 |
X
88 |
C
67 |
V
86 |
B
66 |
N
78 |
M
77 |
,<
188 |
.>
190 |
/
191 |
Shift
16 |
\|
220 |
|
|
Up
38 |
|
1 доп.
97 |
2 доп.
98 |
3 доп.
99 |
||||||||||||
Ctrl
17 |
win |
Alt
18 |
Space Bar
32 |
Alt
18 |
win |
List |
Ctrl
17 |
|
Left
37 |
Down
40 |
Right
39 |
Ins/0
45/96 |
Del/.
46/110 |