Каково точное значение выражения «Поскольку ASCII использовал 7 бит для символа, он мог представлять только 128 различных символов»? - PullRequest
0 голосов
/ 11 июня 2018

Я сталкивался с приведенным ниже утверждением при изучении наборов символов HTML и кодировки символов:

Поскольку ASCII использовал 7 бит для символа, он мог представлять только 128 различных символов.

Когда мы преобразуем любое десятичное значение из набора символов ASCII в его двоичный эквивалент, оно сводится к двоичному числу длиной 7-бит .Например, для заглавной английской буквы 'E' десятичное значение 69 существует в таблице ASCII.Если мы конвертируем '69' в его двоичный эквивалент, это сводится к двоичному номеру 7 бит длиной 1000101

Тогда почему в таблице ASCII это упоминается как 8-битное двоичное число 01000101 вместо 7-битное двоичное число 1000101 ?

Это противоречит утверждению

Поскольку ASCII использует 7 бит для символа, он может представлять только 128 различных символов.

Вышеприведенный операторговорит, что ASCII использовал 7 битов для символа .

Пожалуйста, устраните мою путаницу с учетом двоичного эквивалента десятичного значения.Следует ли мне рассматривать двоичный эквивалент длиной 7 бит или двоичный эквивалент длиной 8 бит для любого десятичного значения из таблицы ASCII ?Пожалуйста, объясните мне на простом для понимания языке.

Опять, рассмотрите следующее утверждение:

Поскольку ASCII использовал 7 бит для символа, он мог представлять только 128 различных символов.

В соответствии с приведенным выше утверждением, каким образом количество символов ( 128 ), которое поддерживает ASCII, связано с тем, что ASCII использует 7 бит для представления любого символа?

Пожалуйста, устраните путаницу.

Спасибо.

1 Ответ

0 голосов
/ 12 июня 2018

В большинстве процессоров память адресуется по байтам, а не по битам.То есть адрес памяти дает местоположение 8-битного значения.Таким образом, почти все данные обрабатываются кратно 8 битам за раз.

Если бы мы хранили значение, имеющее по своей природе только 7 битов, мы бы очень часто использовали один байт на значение.Если данные представляют собой последовательность таких значений, как может быть текст, мы все равно будем использовать один байт на значение, чтобы упростить подсчет, определение размера, индексацию и повторение.

Когда мы описываем значение байта, мычасто показывают все его биты, либо в двоичном, либо в шестнадцатеричном формате.Если значением является какое-то целое число (скажем, 1, 2, 4 или 8 байт), и его десятичное представление было бы более понятным, мы бы записали десятичные цифры для целого числа.Но в этих случаях мы можем потерять представление о том, сколько это байтов.

Кстати: HTML не имеет ничего общего с ASCII.И Extended ASCII - это не одна кодировка.Основное правило кодировки символов - читать (декодировать) кодировку, с которой был написан (закодирован) текст.Таким образом, сообщение состоит из передачи байтов и общего понимания кодировки символов.(Это делает выражение «расширенный ASCII» настолько неадекватным, что почти бесполезным.)

HTML-документ представляет собой последовательность символов Unicode.Таким образом, одна из кодировок Unicode (UTF-8) является наиболее распространенной кодировкой для документа HTML.Независимо от того, после того, как это прочитано, результатом является Unicode.HTML-документ может быть закодирован в ASCII, но зачем это делать?Если бы вы знали, что это ASCII, вы с такой же легкостью могли бы знать, что это UTF-8.

Вне HTML ASCII используется , исчисляется миллиардами, если не триллионами, раз в секунду.Но, если вы точно не знаете, как это относится к вашей работе, забудьте об этом, вы, вероятно, не используете ASCII.

...