Вопрос задан 08.08.2018 в 19:13. Предмет Информатика. Спрашивает Шилаева Алиса.

Почему на код ASCll приходится 1 байт на символ, а на код Unicode-2 байта на символ?

0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Зубаирова Диана.
Потому что в ASCII всего 2^8 = 256 символов (обычно это цифры, символы, латиница большие и маленькие буквы, национальный алфавит большие и маленькие буквы)

в юникоде же все сложнее. UTF-16 действительно занимает 16 бит на символ и имеет в себе 2^16 = 65`536 символов, куда помещается множество алфавитов разных языков, в том числе куча иероглифов, которые в ASCII просто не помещались. Описание наборов символов есть на вики

но есть еще и UTF-8 юникодная кодировка которая организована куда сложнее, занимает по 8 бит на символ для латиницы, но дальше идет расширение. Например символы кириллицы занимают уже по 16 бит

в юникоде есть и другие типы кодировок типа UTF-32LE соответственно 32 бита на символ

так что утверждение что "код Unicode-2 байта на символ" вообще говоря сомнительно без уточнения конкретной кодировки. 

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Размер кодировки ASCII и Unicode

Кодировка ASCII (American Standard Code for Information Interchange) использует 7 бит для представления символов. Это позволяет кодировать 128 различных символов, включая буквы латинского алфавита (заглавные и строчные), цифры, знаки пунктуации и некоторые специальные символы. Кодировка ASCII была разработана в 1960-х годах и является одной из самых старых и наиболее широко используемых кодировок.

С другой стороны, кодировка Unicode предназначена для представления символов из всех письменных систем мира. Она использует переменную длину кодирования, где каждый символ может занимать разное количество байтов. Наиболее распространенным форматом кодировки Unicode является UTF-8, который использует от 1 до 4 байтов для представления символов. В UTF-8 символы из кодировки ASCII занимают 1 байт, а символы из других письменных систем могут занимать от 2 до 4 байтов.

Таким образом, на код ASCII приходится 1 байт на символ, потому что кодировка ASCII использует фиксированную длину кодирования в 7 бит. А на код Unicode приходится 2 байта на символ, потому что UTF-8 использует переменную длину кодирования, и символы из кодировки ASCII занимают 1 байт.

Примеры кодирования символов

Давайте рассмотрим примеры кодирования символов в кодировках ASCII и Unicode.

1. Кодирование символа 'a' в кодировке ASCII: - Код ASCII для символа 'a' равен 97 в десятичной системе или 01100001 в двоичной системе. - Поскольку кодировка ASCII использует 7 бит, символ 'a' занимает 1 байт или 8 бит. - Пример кодирования символа 'a' в кодировке ASCII: `01100001` (в двоичной системе) или `0x61` (в шестнадцатеричной системе).

2. Кодирование символа 'ñ' в кодировке Unicode: - Код Unicode для символа 'ñ' равен 241 в десятичной системе или 11110001 в двоичной системе. - В кодировке UTF-8 символ 'ñ' занимает 2 байта. - Пример кодирования символа 'ñ' в кодировке UTF-8: `11000011 10110001` (в двоичной системе) или `0xC3 0xB1` (в шестнадцатеричной системе).

Заключение

Таким образом, на код ASCII приходится 1 байт на символ, потому что кодировка ASCII использует фиксированную длину кодирования в 7 бит. А на код Unicode приходится 2 байта на символ, потому что UTF-8 использует переменную длину кодирования, и символы из кодировки ASCII занимают 1 байт

0 0

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос