Как найти сколько бит в одном символе

Единицы измерения информации.
В 1 бит можно записать один двоичный
символ.
1 байт = 8 бит.
В кодировке ASCII в один байт можно записать один
256 символьный код.
В кодировке UNICODE один 256 символьный код занимает в
памяти два байта.
1 килобайт = 1024 байт
1 мегабайт = 1024 килобайт
1
гигабайт = 1024 мегабайт
1 терабайт = 1024 гигабайт

Формула Хартли 2 i = N где i– количество информации в битах, N –
неопределенность

Таблица степеней двойки, которая показывает сколько информации можно
закодировать с помощью i – бит

i
0 1 2 3 4 5 6 7 8 9 10
N=2 i
1 2 4 8 16 32 64 128 256 512 1024
Чтобы вычислить информационный объем
сообщения надо количество символов умножить на число бит, которое требуется для
хранения одного символа
Например: двоичный текст 01010111 занимает в памяти
8 бит
Этот же текст в кодировке ASCII занимает 8 байт или 64 бита
Этот
же текст в кодировке UNICODE занимает 16 байт или 128 бит.
Не забывайте, что
пробелы надо тоже считать за символы поскольку они также набираются на
клавиатуре и хранятся в памяти.
Мощность алфавита – это количество символов
в алфавите или неопределенность из формулы Хартли.
Информационный вес одного
символа – это значение i из формулы Хартли.
Отсюда можно сделать вывод, что
не существует алфавита, состоящего из одного символа, поскольку тогда
информационный вес этого символа был бы равен 0.

Источник: http:// festival. 1september.ru/ articles/ 604157/

На чтение 5 мин. Просмотров 1.1k. Опубликовано 15.12.2019

Я просто смущен. сколько символов в одном бите?

Это зависит от характера и того, в каком кодировании он находится:

Символ ASCII в 8-разрядной кодировке ASCII составляет 8 бит (1 байт), хотя он может поместиться в 7 бит.

Символ ISO-8895-1 в кодировке ISO-8859-1 составляет 8 бит (1 байт).

Символ Unicode в кодировке UTF-8 находится между 8 битами (1 байт) и 32 битами (4 байта).

Символ Юникода в кодировке UTF-16 находится между 16 (2 байтами) и 32 битами (4 байта), хотя большинство общих символов принимают 16 бит. Это кодировка, используемая Windows внутренне.

Символ Unicode в кодировке UTF-32 всегда 32 бита (4 байта).

Символ ASCII в UTF-8 — 8 бит (1 байт), а в UTF-16 — 16 бит.

Дополнительные символы (не ASCII) в ISO-8895-1 (0xA0-0xFF) будут принимать 16 бит в UTF-8 и UTF-16.

Это означало бы, что между 0.03125 и 0.125 символами.

Один бит это 1/8 (одна восьмая или 0.125 символа). Из учебника информатики мы знаем что для того чтобы записать один символ нам нужен 1 байт, который состоит из 8 бит, отсюда 1 бит это 1/8 символа или 0.125 символа. Почему 1 символ это байт? Все дело в том что машина (компьютер) не понимает наши буквы и символы, она понимает только значения «верно» и «ложь» которые записаны в двоичном коде (то есть при помощи двух символов 1 и 0). Соответственно для того чтобы закодировать один из 256 символов при помощи нолей и единиц нам потребуется восемь мест в каждом из которых может быть только один из двух вариантов: единица или ноль. Таким местом как раз и является один бит который может содержать только ноль или единицу, а вот последовательность из восьми нолей или единиц можно описать один из 256 символов. Таким образом и получается что для записи одного символа нам нужно 8 бит или один байт.

UTF-8 (от англ. Unicode Transformation Format, 8-bit — «формат преобразования Юникода, 8-бит») — распространённый стандарт кодирования текста, позволяющий более компактно хранить и передавать символы Юникода, используя переменное количество байт (от 1 до 4), и обеспечивающий полную обратную совместимость с 7-битной кодировкой ASCII. Стандарт UTF-8 официально закреплён в документах RFC 3629 и ISO/IEC 10646 Annex D. Кодировка UTF-8 сейчас является доминирующей в веб-пространстве. Она также нашла широкое применение в UNIX-подобных операционных системах [1] . Формат UTF-8 был разработан 2 сентября 1992 года Кеном Томпсоном и Робом Пайком, и реализован в Plan 9 [2] . Идентификатор кодировки в Windows – 65001 [3] .

Сравнивая UTF-8 и UTF-16, можно отметить, что наибольший выигрыш в компактности UTF-8 даёт для текстов на латинице, поскольку латинские буквы без диакритических знаков, цифры и наиболее распространённые знаки препинания кодируются в UTF-8 лишь одним байтом, и коды этих символов соответствуют их кодам в ASCII. [4] [5]

Содержание

  1. Содержание
  2. Алгоритм кодирования [ править | править код ]
  3. Примеры кодирования [ править | править код ]
  4. Маркер UTF-8 [ править | править код ]
  5. Пятый и шестой байты [ править | править код ]

Содержание

Алгоритм кодирования [ править | править код ]

Алгоритм кодирования в UTF-8 стандартизирован в RFC 3629 и состоит из 3 этапов:

1. Определить количество октетов (байтов), требуемых для кодирования символа. Номер символа берётся из стандарта Юникод.

Диапазон номеров символов Требуемое количество октетов
00000000-0000007F 1
00000080-000007FF 2
00000800-0000FFFF 3
00010000-0010FFFF 4

Для символов Юникода с номерами от U+0000 до U+007F (занимающими один байт c нулём в старшем бите) кодировка UTF-8 полностью соответствует 7-битной кодировке US-ASCII.

2. Установить старшие биты первого октета в соответствии с необходимым количеством октетов, определённом на первом этапе:

  • 0xxxxxxx — если для кодирования потребуется один октет;
  • 110xxxxx — если для кодирования потребуется два октета;
  • 1110xxxx — если для кодирования потребуется три октета;
  • 11110xxx — если для кодирования потребуется четыре октета.

Если для кодирования требуется больше одного октета, то в октетах 2-4 два старших бита всегда устанавливаются равными 102 (10xxxxxx). Это позволяет легко отличать первый октет в потоке, потому что его старшие биты никогда не равны 102.

Количество октетов Значащих бит Шаблон
1 7 0xxxxxxx
2 11 110xxxxx 10xxxxxx
3 16 1110xxxx 10xxxxxx 10xxxxxx
4 21 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx

3. Установить значащие биты октетов в соответствии с номером символа Юникода, выраженном в двоичном виде. Начать заполнение с младших битов номера символа, поставив их в младшие биты последнего октета, продолжить справа налево до первого октета. Свободные биты первого октета, оставшиеся незадействованными, заполнить нулями.

Примеры кодирования [ править | править код ]

Символ Двоичный код символа UTF-8 в двоичном виде UTF-8 в шестнадцатеричном виде
$ U+0024 100100 0 0100100 24
¢ U+00A2 10 100010 110 00010 10 100010 C2 A2
U+20AC 10 0000 10 101100 1110 0010 10 000010 10 101100 E2 82 AC
�� U+10348 1 0000 0011 01 001000 11110 000 10 010000 10 001101 10 001000 F0 90 8D 88

Маркер UTF-8 [ править | править код ]

Для указания, что файл или поток содержит символы Юникода, в начале файла или потока может быть вставлен маркер последовательности байтов (англ. Byte order mark, BOM ), который в случае кодирования в UTF-8 принимает форму трёх байтов: EF BB BF16 .

1-й байт 2-й байт 3-й байт
Двоичный код 1110 1111 1011 1011 1011 1111
Шестнадцатеричный код EF BB BF

Пятый и шестой байты [ править | править код ]

Изначально кодировка UTF-8 допускала использование до шести байтов для кодирования одного символа, однако в ноябре 2003 года стандарт RFC 3629 запретил использование пятого и шестого байтов, а диапазон кодируемых символов был ограничен символом U+10FFFF . Это было сделано для обеспечения совместимости с UTF-16.

Символ это совокупность бит, определяем битовую скорость

В статье поговорим про то, что такое бит и символ. И решим задачу на нахождение битовой скорости, если известна символьная скорость.

p, blockquote 1,0,0,0,0 —>

p, blockquote 2,0,1,0,0 —>

Бит (единица информации) это минимальный объем информации, который представляется одним из двух значений: 0 или 1.

p, blockquote 3,0,0,0,0 —>

Символ – это сгруппированная совокупность битов, предназначенная для одновременной передачи. В один символ помещается несколько бит информации.

p, blockquote 4,0,0,0,0 —>

Число возможных значений символа: М=2^k т.е. сколько разных значений символ может принимать. где k – количество бит в символе.

p, blockquote 5,1,0,0,0 —>

Если символ содержит только один бит, то такой способ передачи называют бинарным, либо двоичным. Различают соответственно битовую (бит/с) и символьную скорость (сим./с). Символьную скорость также называют скоростью манипуляции, измеряемой в бодах. Бод – единица измерения символьной скорости: 1 Бод = 1сим./с

p, blockquote 6,0,0,0,0 —>

ЗАДАЧА: Найти битовую скорость.

p, blockquote 7,0,0,1,0 —>

В таблице представлено несколько видов модуляций. Второй столбик (Алфавит), говорит о том, сколько значений символов можно принимать. Дана символьная скорость, нужно найти битовую.

p, blockquote 8,0,0,0,0 —>

Таблица с битовыми скоростями

  • 2-ФМн, символьная скорость 1200 бод. Вопрос, сколько у нас бит на символ приходится? У одного бита два возможных состояния 1 и 0. Мы одним битом можем закодировать символ целиком. Если в одном символе содержится один бит, символьная и битовая скорости будут равны, т.е. 1200 бит/с.
  • 4-ФМн, здесь в одном символе содержится? Сколькими битами мы можем закодировать 4 состояния? Можно проверять так, 2 в какой степени даст 4? Во 2 ! Соответственно скорость будет равна 200 . (100*2)
  • 8-ФМн, 2 в какой степени дает 8? в 3! Следовательно, 3*300=900 бит/с.
  • 16-КАМ, 4 бит на символ, 4*600=2400.

Про виды модуляций вы можете почитать в статье про амплитудную и фазовую манипуляцию.

Вспомним некоторые известные нам факты:

Множество символов, с помощью которых записывается текст, называется алфавитом

Число символов в алфавите – это его мощность

Формула определения количества информации: N=2 i  ,

где N – мощность алфавита (количество символов),

i – количество бит (информационный вес символа). 

В алфавит мощностью 256 символов можно поместить практически все необходимые символы. Такой алфавит называется достаточным

Т.к. 256 = 28, то вес 1 символа – 8 бит. 

Единице измерения 8 бит присвоили название 1 байт: 

1 байт = 8 бит. 

Двоичный код каждого символа в компьютерном тексте занимает 1 байт памяти.

Задачи:

1) Алфавит содержит 32 буквы. Какое количество информации несет одна буква?

Дано: Мощность алфавита N = 32

Решение: 

1. 32 = 5, значит вес одного символа i = 5 бит. 

Ответ: одна буква несет 5 бит информации. 

2) Сообщение, записанное буквами из 16 символьного алфавита, содержит 10 символов. Какой объем информации в битах оно несет? 

Дано: Мощность алфавита N = 16 текст состоит из 10 символов.

Решение: 

1. 16 = 4

2. Всего символов 10, значит объем информации 10 * 4 = 40 бит. 

Ответ: сообщение несет 40 бит информации (8 байт).

3) Информационное сообщение объемом 300 бит содержит 100 символов. Какова мощность алфавита? 

Дано: Объем сообщения = 300 бит текст состоит из 100 символов

Решение: 

1. Определим вес одного символа: 300 / 100 = 3 бита. 

2. Мощность алфавита определяем по формуле:  = 8

Ответ: мощность алфавита N = 8. 

  1. Калькуляторы

  2.   /  

  3. Калькулятор физических величин

  4.   /  

  5. Информация

  6.   /  

  7. Бит в Символ

Сколько Бит в Символ

Узнайте с помощью нашего калькулятора сколько Бит в Символ.

Сколько Бит в Символ:

1 Бит = 0.125 Символ

1 Символ = 8 Бит



Обратная конвертация величин

Бит в Символ:

Бит в Символ

Бит
Бит 1 10 50 100 500 1 000
Символ 0.125 1.25 6.25 12.5 62.5 125
Символ
Символ 1 10 50 100 500 1 000
Бит 8 80 400 800 4000 8000

Добавить комментарий