Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб3.Кодирование текстовой информации.Си.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
91.87 Кб
Скачать

Основы информатики. Лаб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 минут доклада. Обязательны ссылки на источники, в том числе использованные Интернет-ресурсы.

  1. К.Шеннон – биография

  2. К.Шеннон – краткое содержание работы "Математическая теория связи" (http://cm.bell-labs.com/cm/ms/what/shannonday/)

  3. К.Шеннон – краткое содержание работы "Communication Theory of Secrecy Systems"

  4. Колмогоров А.Н. - краткое содержание работы «Три подхода к определению понятия “количество информации”»

  5. Число сочетаний и треугольник Паскаля.

Зачем нужны кодировки символов?

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

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

Значит, чтобы закодировать любой нужный нам символ (например, национального алфавита) должно быть выполнено два условия — векторная форма этого символа должна быть в используемом шрифте, и этот символ можно было бы закодировать в расширенных кодировках 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.

Упражнение.

  1. Запишите шестнадцатеричный код латинской буквы a. Чему равна разность кодов буквы a и A? Повторите упражнение для других латинских букв.

  2. Как по коду прописной буквы получить код строчной буквы? Как по коду строчной буквы получить код прописной буквы?

  3. Запишите последовательность кодов цифр от 0 до 9. Как по коду цифры получить ее числовое значение?