- •Зачем нужны кодировки символов?
- •Си. Представление символов
- •Задания
- •Кроме латиницы Функция setlocale
- •Задания
- •Приложение 1. Управляющие символы
- •Управляющие коды в Си (эскейп-последовательности)
- •Приложение 2. Расширенная ascii таблица
- •Кодовая страница
- •Альтернативная кодировка
- •Windows кодировка
- •Приложение 3. Спецификаторы строки формата
Основы информатики. Лаб3. Основные понятия информатики февраль 2015
Кодирование информации. Тип char в языке Си
Содержание
Зачем нужны кодировки символов? 1
Таблица ASCII 2
Си. Представление символов 3
Задания 5
Кроме латиницы 6
Функция setlocale 6
Задания 7
Приложение 1. Управляющие символы 8
Управляющие коды в Си (эскейп-последовательности) 9
Приложение 2. Расширенная ASCII таблица 10
Кодовая страница 10
Альтернативная кодировка 11
Windows кодировка 11
КОИ-8 12
Приложение 3. Спецификаторы строки формата 13
Заслушать доклады . Стиль – деловой, научный. Название, автор презентации, текст, примеры, графика. Ориентироваться на 5 минут доклада. Обязательны ссылки на источники, в том числе использованные Интернет-ресурсы.
К.Шеннон – биография
К.Шеннон – краткое содержание работы "Математическая теория связи" (http://cm.bell-labs.com/cm/ms/what/shannonday/)
К.Шеннон – краткое содержание работы "Communication Theory of Secrecy Systems"
Колмогоров А.Н. - краткое содержание работы «Три подхода к определению понятия “количество информации”»
Число сочетаний и треугольник Паскаля.
Зачем нужны кодировки символов?
Символы на экране компьютера формируются на основе наборов векторных (редко матричных) представлений всевозможных символов. Они находятся в файлах со шрифтами, которые установлены на компьютере. Выбор конкретного представления осуществляется по коду, который позволяет взять из этого набора представлений именно тот символ, который нужно будет вставить в нужное место.
Понятно, что за сами формы символов отвечают шрифты, а вот за кодирование отвечает операционная система и используемые в ней программы. Программа, отображающая этот текст на экране (текстовый редактор, браузер и т.п.), при разборе кода считывает кодировку очередного символа и ищет соответствующую ему векторную форму в нужном файле шрифта, который подключен для отображения данного текстового документа.
Значит, чтобы закодировать любой нужный нам символ (например, национального алфавита) должно быть выполнено два условия — векторная форма этого символа должна быть в используемом шрифте, и этот символ можно было бы закодировать в расширенных кодировках ASCII в один байт. Поэтому расширенных кодировок ASCII существует много.
Таблица ASCII
ASCII ‑ American standard code for information interchange – американский стандартный код обмена информацией.
ASCII – 8-ми разрядный код. Для кодирования символов используется 8 битов. С помощью 8 битов можно закодировать 256 символов. Но только первую половину кодовой таблицы (коды от 0 до 127) занимают полностью стандартизированные символы US-ASCII, а вторую (128 ‑ 255) — разные другие символы, часто соответствующие национальным стандартам. В настоящее время «ASCII» практически всегда означает «US-ASCII».
Таблица 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 |
Шестнадцатеричный код каждого символа составляется из шестнадцатеричного номера строки и столбца. Строки и столбцы нумеруются с нуля. Например, код латинской буквы A равен шестнадцатеричному числу 41 (номер строки 4, номер столбца 1). Шестнадцатеричные числа в Си начинаются с префикса 0x. То есть код буквы A равен 0x41.
Значения символов с кодами от 0x0 до 0x1F можно узнать из Приложения 1.
Упражнение.
Запишите шестнадцатеричный код латинской буквы a. Чему равна разность кодов буквы a и A? Повторите упражнение для других латинских букв.
Как по коду прописной буквы получить код строчной буквы? Как по коду строчной буквы получить код прописной буквы?
Запишите последовательность кодов цифр от 0 до 9. Как по коду цифры получить ее числовое значение?
