AmanitaRubescens
@AmanitaRubescens
Шалтай-болтай

Хочу понимать биты/байты и их друзей. Литература?

Что почитать, посмотреть чтобы начать понимать смысл написанного про байты/биты? Например:

UTF-8 («формат преобразования Юникода, 8-бит») — распространённый стандарт кодирования символов,
 позволяющий более компактно хранить и передавать символы Юникода, используя переменное 
количество байт (от 1 до 4), и обеспечивающий полную обратную совместимость с 7-битной кодировкой ASCII.


Из этого я только понимаю что это стандарт кодирования символов

Еще с вики:
Недопустимый байт.
Байт продолжения (10xxxxxx) без начального байта.
Отсутствие нужного количества байтов продолжения 10xxxxxx — например, двух после 1110xxxx).
Строка обрывается посреди символа.
Неэкономное кодирование — например, кодирование символа тремя байтами, когда можно двумя. (Существует нестандартный вариант UTF-8, который кодирует символ с кодом 0 как 1100.0000 1000.0000, отличая его от символа конца строки 0000.0000.)
Последовательность байтов, декодирующаяся в недопустимую кодовую позицию (например символы суррогатных пар UTF-16).


Ну еще миллионы примеров...

Я так понимаю надо вернуться в школьные года, когда была информатика, где складывали 1+1, 1+0 - старший бит налево, это на право...

Может есть что-то типа "Биты для чайников".

Что-нибудь для легкого чтения на понятном языке для не понимающих.
  • Вопрос задан
  • 255 просмотров
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev
Седой и строгий
Петцольд "Код тайный язык информатики"
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Для простого объяснения как работает UTF-8 не нужно знать, какие конкретные размерности символов используются. Можно рассмотреть бытовую аналогию - печать на клавиатуре.
Какая аналогия печати символов, если мы используем принцип unicode?
На клавиатуре набираем Alt и код символа с ведущими нулями (пусть их будет всего восемь цифр в номере). Тогда, чтобы напечатать любой символ нам всегда нужно 9 нажатий клавиш.
Какая аналогия печати символов, если мы используем принцип utf?
У нас есть переключатель регистра сочетанием клавиш Alt+Shift+номер таблицы символов (пусть будет фиксированный 4 цифры). На первом регистре основные клавиши клавиатуры печатают англ. алфавит, на втором регистре - кириллицу, на третьем - регулярно используемые спец символы, на четвертом - греческий, на пятом - вязь и т.д.
Чтобы нам начать печатать текст, нужно либо остаться на первом регистре (не использовать комбинацию переключения), либо если идет символ не из текущего регистра, то воспользоваться комбинацией переключения - в этом случае стоимость печати символа выходит 6 символов на переключение и 1 символ на печать. Следующие символы можно печатать в этом же регистре по 1 нажатию.
Большинство человеческих текстов достаточно однородны, при принципе utf мы будем достаточно редко переключать регистр, на печать каждого символа будет уходить в среднем чуть больше одного нажатия клавиши. Если мы будем печатать тот же однородный текст принципом unicode, то будем каждый раз нажимать 9 клавиш.
Utf принцип в этом смысле очень экономный выходит.
По такой же аналогии "уплотняются" данные в реальной кодировке utf-8, utf-16 и т.д.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы