Тысячи путей ведут к заблуждению, к истине – только один.
B1 (базовый уровень, время – 1 мин)
Тема: Кодирование текстовой информации. Кодировка ASCII. Основные кодировки кириллицы.
Что нужно знать:
· все символы кодируются одинаковым числом бит[1] (алфавитный подход)
· чаще всего используют кодировки, в которых на символ отводится 8 бит (8-битные) или 16 бит (16-битные)
· при измерении количества информации принимается, что в одном байте 8 бит, а в одном килобайте (1 Кбайт) – 1024 байта, в мегабайте (1 Мбайт) – 1024 Кбайта[2]
· после знака препинания внутри (не в конце!) текста ставится пробел
· чтобы найти информационный объем текста I, нужно умножить количество символов N на число бит на символ K:
· две строчки текста не могут занимать 100 Кбайт в памяти
· при кодировании текста каждому символу ставится в соответствие свой код
· символы-цифры в кодовой таблице идут подряд в порядке возрастания, от «0» до «9» (символ «0» имеет код 48, символ «9» – код 57)
· большие (прописные) латинские буквы в кодовой таблице идут подряд в алфавитном порядке от «A» до «Z»
· маленькие (строчные) латинские буквы в таблице кодировки идут подряд в алфавитном порядке, от «a» до «z»
· в большинстве кодовых таблиц (но не во всех!) русские буквы, как заглавные, так и строчные, также расположены по алфавиту (за исключением буквы «Ё»)
Ещё пример задания:
Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке длиной в 20 символов, первоначально записанного в 2-байтном коде Unicode, в 8-битную кодировку КОИ-8. На сколько бит уменьшилась длина сообщения? В ответе запишите только число.
|
|
Решение:
1) при 16-битной кодировке объем сообщения – 16*20 бит
2) когда его перекодировали в 8-битный код, его объем стал равен– 8*20 бит
3) таким образом, сообщение уменьшилось на 16*20 – 8*20 = 8*20 = 160 бит
4) Ответ: 160 бит.
Возможные ловушки и проблемы: · нужно внимательно читать, в каких единицах требуется записать ответ |
Ещё пример задания:
Автоматическое устройство осуществило перекодировку информационного сообщения на русском языке, первоначально записанного в 16-битном коде Unicode, в 8-битную кодировку КОИ-8. При этом информационное сообщение уменьшилось на 480 бит. Какова длина сообщения в символах?
Решение:
1) обозначим количество символов через N
2) при 16-битной кодировке объем сообщения – 16*N бит
3) когда его перекодировали в 8-битный код, его объем стал равен– 8*N бит
4) таким образом, сообщение уменьшилось на 16*N – 8*N = 8*N = 480 бит
5) отсюда находим N = 480/8 = 60 символов.
Ещё пример задания:
Определите информационный объем текста в битах
Бамбарбия! Кергуду!
Решение:
1) в этом тексте 19 символов (обязательно считать пробелы и знаки препинания)
|
|
2) если не дополнительной информации, считаем, что используется 8-битная кодировка (чаще всего явно указано, что кодировка 8- или 16-битная)
3) поэтому в сообщении 19*8 = 152 бита информации
Еще пример задания:
В таблице ниже представлена часть кодовой таблицы ASCII:
Символ | 1 | 5 | A | B | Q | a | b |
Десятичный код | 49 | 53 | 65 | 66 | 81 | 97 | 98 |
Шестнадцатеричный код | 31 | 35 | 41 | 42 | 51 | 61 | 62 |
Каков шестнадцатеричный код символа «q» ?
Решение:
1) в кодовой таблице ASCII (American Standard Code for Information Interchange, американский стандартный код для обмена информацией) все заглавные латинские буквы A-Z расставлены по алфавиту, начиная с символа с кодом 65=4116
2) все строчные латинские буквы a-z расставлены по алфавиту, начиная с символа с кодом 97=6116
3) отсюда следует, что разница кодов букв «q» и «a» равна разнице кодов букв «Q» и «A», то есть, 5116 – 4116=1016
4) тогда шестнадцатеричный код символа «q» равен коду буквы «a» плюс 1016
5) отсюда находим 6116 + 1016=7116.
Решение (Н.В. Огаркова):
1) в кодовой таблице ASCII (American Standard Code for Information Interchange, американский стандартный код для обмена информацией) все заглавные латинские буквы A-Z идут подряд в алфавитном порядке, начиная с символа с кодом 65=4116, а строчные латинские буквы a-z также идут подряд в алфавитном порядке, начиная с символа с кодом 97=6116
|
|
2) расстояние между латинскими буквами «a» и «A» точно такое же, как и расстояние между латинскими буквами «b» и «B», …, и точно такое же, как и между буквами «z» и «Z»
Величину сдвига легко рассчитать, зная коды любых двух парных буквы, например «a» и «A» или «b» и «B»: сдвиг равен 32
3) тогда десятичный код буквы «q» будет равен КОД(Q)+32 = 81+32 = 113
4) остается только перевести 11310 в шестнадцатеричный код 11310 =7116.
Задачи для тренировки[3]:
1) Считая, что каждый символ кодируется одним байтом, определите, чему равен информационный объем следующего высказывания Жан-Жака Руссо в битах:
Тысячи путей ведут к заблуждению, к истине – только один.
2) Считая, что каждый символ кодируется одним байтом, определите, чему равен информационный объем следующего высказывания Алексея Толстого в битах:
Дата добавления: 2019-01-14; просмотров: 457; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!