Что нужно знать каждому разработчику о кодировках и наборах символов для работы с текстом
Это первая часть перевода статьи What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With TextЕсли вы работаете с текстом в компьютере, вам обязательно нужно знать про кодировки. Даже если вы посылаете электронные письма. Даже если вы их только получаете. Необязательно понимать каждую деталь, но надо хотя бы знать, что из себя представляют кодировки. И вот первая хорошая новость: статья может быть немного запутанной, но основная идея очень и очень простая.
Эта статья о кодировках и наборах символов.
Статья Джоеэля Спольски под названием «Абсолютный минимум о Unicode и наборе символов для каждого разработчика(без исключений!)» будет хорошей вводной и мне доставляет большое удовольствие перечитывать ее время от времени. Я стесняюсь отсылать к ней тех людей, которые испытывают трудности с пониманием проблем с кодировкам, хотя она довольно легкая в плане технических деталей. Я надеюсь, эта статья прольет немного света на то, чем именно являются кодировки, и почему все ваши тексты оказываются испорченными в самый ненужный момент. Статья предназначена для разработчиков(главным образом, на PHP), но пользу от нее может получить любой пользователь компьютера.
Основы
Все более или менее слышали об этом, но каким-то образом знание испаряется, когда дело доходит до обсуждения, так что вот вам: компьютер не может хранить буквы, числа, картинки или что-либо еще. Он может запомнить только биты. Бит имеет только два значения: ДА или НЕТ, ПРАВДА или ЛОЖЬ, 1 или 0 или любую другую пару, которую вы можете вообразить. Раз уж компьютер работает с электричеством, бит представлен электрическим зарядом: он либо есть, либо его нет. Людям проще представлять это в виде 1 и 0, так что я буду придерживаться этих обозначений.
Чтобы с помощью битов представлять нечно полезное, нам нужны правила. Надо сконвертировать последовательность бит в что-то похожее на буквы, числа и изображения, используя схему кодирования, или, коротко, кодировку. Вот так, например:
01100010 01101001 01110100 01110011
b i t s
В этой кодировке, 01100010 представляет из себя ‘b’, 01101001 — ‘i’, 01110100 — ‘t’, 01110011 — ‘s’. Конкретная последовательность бит соответствует букве, а буква – конкретной последовательности битов. Если вы можете запомнить последовательности для 26 букв или умеете действительно быстро находить нужное соответствие, то вы сможете читать биты, как книги.
bits character01000001 A
01000010 B
01000011 C
01000100 D
01000101 E
01000110 F
В ней 95 символов, включая буквы от A до Z, в нижнем и верхнем регистре, цифры от 0 до 9, с десяток знаков препинания, амперсанд, знак доллара и прочие. В нее также включены 33 значения, такие как пробел, табуляция, перевод строки, возврат символа и прочие. Это непечатаемые символы, хотя они видимы человеку и используются им. Некоторые значения полезны только компьютеру, такие как коды начала и конца текста. Всего в кодировку ASCII включены 128 символов — прекрасное ровное число для тех, кто смыслит в компьютерах, так как оно использует все комбинации 7ми битов (от 0000000 до 1111111).
Вот вам способ представить человеческую строку, используя только единицы и нули:
01001000 01100101 01101100 01101100 01101111 00100000
01010111 01101111 01110010 01101100 01100100«Hello World»
Важные термины
Для кодирования чего-либо в ASCII двигайтесь справа налево, подменяя буквы на биты. Для декодирования битов в символы, следуйте по таблице слева направо, подменяя биты на буквы.
encode |enˈkōd|
verb [ with obj. ]
convert into a coded form
code |kōd|
noun
a system of words, letters, figures, or other symbols substituted for other words, letters, etc.
Кодирование – это представление чего-либо чем-нибудь другим. Кодировка – это набор правил, описывающий способ перевода одного представления в другое.
Прочие термины, заслуживающие прояснения:
Набор символов, чарсет, charset
Кодовая страница – страница кодов, закрепляюшая за символом набор битов. Таблица. Синоним к кодировке.
Строка – пачка чего-нибудь, объединенных вместе. Битовая строка – это пачка бит, такая как 00011011. Символьная строка – это пачка символов, например «Вот эта». Синоним к последовательности.
Двоичный, восьмеричный, десятичный, шестнадцатеричный
Существует множество способов записывать числа. 10011111 – это бинарная запись для 237 в восьмеричной, 159 в десятичной и 9F в шестнадцатиричной системах. Значения у всех этих чисел одинаково, но шестнадцатиричная система короче и проще для понимания, чем двоичная. Я буду придерживаться двоичной системы в этой статье, чтобы улучшить понимание и убрать лишний уровень абстракции. Не пугайтесь, встречая коды символов в других нотациях, все значения эквиваленты.
Excusez-Moi?
Раз уж мы теперь знаем, о чем говорим, заметим: 95 символов – это совсем немного, когда речь идет о языках. Этот набор покрывает базовый английский, но как насчет французских символов? А вот это Straßen¬übergangs¬änderungs¬gesetz из немецкого языка? А приглашение на smörgåsbord в шведском? В-общем, не получится. Не в ASCII. Спецификация на представление é, ß, ü, ä, ö просто отсутствует.
“Постойте-ка”, скажут европейцы, “в обычных компьютерах с 8 битами в байте, ASCII никак не использует бит, который всегда равен 0! Мы можем использовать его, чтобы расширить таблицу еще на 128 значений”. И было так. Но способов обозначить звучание гласных еще слишком много. Не все сочетания букв и значений, используемые в европейских языках, влезают в таблицу из 256 записей. Так мир пришел к изобилию кодировок, стандартов, стандартов де-факто и недостандартов, которые покрывают все субнаборы символов. Кому-то понадобилось написать документ на шведском или чешском, и, не найдя нужной кодировки, просто изобрел еще одну. Или я думаю, что все так и произошло.
Не забывайте о русском, хинди, арабском, корейском и множестве других живых языков планеты. Про мертвые уж молчим. Как только вы найдете способ писать документ, использующий несколько языков, попробуйте добавить китайский. Или японский. Оба содержат тысячи символов. И у вас всего 256 значений. Вперед!
Многобайтные кодировки
Для создания таблиц, которые содержат более 256 символов, одного байта просто недостаточно. Двух байтов (16 бит) хватит для кодировки 65536 различных значений. Big-5 например, кодировка двухбайтная. Вместо разбиения последовательности битов в блоки по 8, она использует блоки по 16 битов и содержит большую(я имею ввиду БОЛЬШУЮ) таблицу с соответствием. Big-5 в своем основном виде покрывает большинство символов традиционного китайского. GB18030 – это похожая кодировка, но она включает как традиционный, так и упрощенный китайский. И, прежде чем вы спросите, да, есть кодировки только для упрощенного китайского. А разве одной недостаточно?
Вот кусок таблицы GB18030:
bits character
10000001 01000000 丂
10000001 01000001 丄
10000001 01000010 丅
10000001 01000011 丆
10000001 01000100 丏
GB18030 покрывает довольно большой диапазон символов, включая большую часть латинских символов, но в конце концов, это всего лишь еще одна кодировка среди многих других.
Путаница с Unicode
В итоге тем, кому больше всех надоела эта каша, пришла в голову идея разработать единый стандарт, объединяющий все кодировки. Этим стандартом стал Unicode. Он определяет невероятную таблицу из 1 114 112 пунктов, используемую для всех вариантов букв и символов. Этого хватит для кодирования всех европейских, средне-азиатских, дальневосточных, южных, северных, западных, доисторических и будущих символов, о которых человечеству известно. Unicode позволяет создать документ на любом языке любыми символами, которые можно ввести в компьютер. Это было невозможно, или очень затруднительно до эры Unicode. В стандарте есть даже неофициальная секция под клингонский. Вы поняли, Unicode настолько большой, чтобы допускает неофициальные секции.
Итак, и сколько же байт использует Unicode для кодирования? Нисколько. Потому что Unicode – это не кодировка.
Смущены? Не вы одни. Unicode в первую и главную очередь определяет таблицу пунктов для символов. Это такой способ сказать «65 – A, 66 – B, 9731 – »(я не шучу, так и есть). Как эти пункты кодируются в байты является предметом другого разговора. Для представления 1 114 112 значений двух байт недостаточно. Трех достаточно, но 3 – странное число, так что 4 является комфортным минимумом. Но, пока вы не используете китайский, или другой язык со множеством символов, которые требуют большого количества битов для кодирования, вам никогда не придет в голову использовать толстую колбасу из 4х байт. Если “A” всегда кодируется в 00000000 00000000 00000000 01000001, а “B” – в 00000000 00000000 00000000 01000010, то документ, использующий такую кодировку, распухнет в 4 раза.
Существует несколько способов решения этой проблемы. UTF-32 – это кодировка, которая переводит все символы в наборы из 32 бит. Это простой алгоритм, но изводящий много места впустую. UTF-16 и UTF-8 являются кодировками с переменной длиной кодирования. Если символ может быть закодирован одним байтом(потому что номер пункта символа очень маленький), UTF-8 закодирует его одним байтом. Если нужно 2 байта, то используется 2 байта. Кодировка сообщает старшими битами, сколькими битами кодируется текущий символ. Такой способ экономит место, но так же и тратит его в случае, если эти сигнальные биты часто используются. UTF-16 является компромиссом: все символы как минимум двухбайтные, но их размер может увеличиваться до 4 байт, если нужно.
character encoding bits
A UTF-8 01000001
A UTF-16 00000000 01000001
A UTF-32 00000000 00000000 00000000 01000001
あ UTF-8 11100011 10000001 10000010
あ UTF-16 00110000 01000010
あ UTF-32 00000000 00000000 00110000 01000010
И все. Unicode – это огромная таблица соответствия символов и чисел, а различные UTF кодировки определяют, как эти числа переводятся в биты. В-общем, Unicode – это просто еще одна схема. Ничего особенного, она просто пытается покрыть все, что можно, оставаясь эффективной. И это хорошо.
Пункты
Символы определяются по их Unicode-пунктам. Эти пункты записаны в шестнадцатеричной системе и предварены “ U+” (просто для удобство, не значит ничего, кроме “Это пункт Unicode”). Символ Ḁ имеет пункт U+1E00. Иными(десятичными) словами, это 7680й символ таблицы Unicode. Он официально называется “ЛАТИНСКАЯ ЗАГЛАВНАЯ БУКВА А С КОЛЬЦОМ СНИЗУ”.
Ниасилил
Суть вышесказанного: любой символ может быть закодирован множеством разных последовательностей бит, и любая последовательность бит может представлять разные символы, в зависимости от используемой кодировки. Причина в том, что разные кодировки используют разное число бит на символ и разные значения для кодирования разных символов.
bits encoding characters11000100 01000010 Windows Latin 1 ÄB
11000100 01000010 Mac Roman ƒB
11000100 01000010 GB18030 腂characters encoding bits
Føö Windows Latin 1 01000110 11111000 11110110
Føö Mac Roman 01000110 10111111 10011010
Føö UTF-8 01000110 11000011 10111000 11000011 10110110
Заблуждения, смущения и проблемы
Имея все вышесказанное, мы приходим к насущным проблемам, которые испытывают множество пользователей и разработчиков каждый день, как они соотносятся с указанным выше, и каковы пути решения. Сама большая проблема – это
Какого черта мой текст нечитаем?
ÉGÉìÉRÅ[ÉfÉBÉìÉOÇÕìÔǵÇ≠ǻǢ
Если вы откроете документ, и он выглядит так, как текст выше, то причина у этого одна: ваша программа ошиблась с кодировкой. И все. Документ не испорчен(по крайней мере, пока), и не нужно никакое волшебство. Вместо него надо просто выбрать правильную кодировку для отображения текста. Предполагаемый документ выше содержит биты:
10000011 01000111 10000011 10010011 10000011 01010010 10000001 01011011
10000011 01100110 10000011 01000010 10000011 10010011 10000011 0100111110000010 11001101 10010011 11101111 10000010 10110101 10000010 10101101
10000010 11001000 10000010 10100010
Так, быстренько угадали кодировку? Если вы пожали плечами, то вы правы. Да кто знает?
Попробуем с ASCII. Большая часть этих байтов начинается с 1. Если вы правильно помните, ASCII вообще-то не использует этот бит. Так что ASCII не вариант. Как насчет UTF-8? Большая часть байт не является валидными значениями в этой кодировке. Как насчет Mac Roman(еще одна европейская кодировка)? Хм, для нее эти байты являются правильными значениями. 10000011 декодируетися в ”É”, в “G” и так далее. Так что в Mac Roman текст будет выглядеть так: ÉGÉìÉRÅ[ÉfÉBÉìÉOÇÕìÔǵÇ≠ǻǢ. Правильно? Нет? Может быть? А компьютер-то откуда знает? Может кто-то хотел написать именно это. Насколько я знаю, это может быть последовательностью ДНК! Так и порешим: это Mac Roman, и это ДНК.
Конечно, это полный бред. Правильный ответ таков: текст закодирован в Japanes Shift-JIS и должен выглядеть как エンコーディングは難しくない. Кто бы мог подумать?
Первая причина нечитаемости текста в том, что кто-то пытается прочитать последовательность байт в неверной кодировке. Компьютеру всегда нужно подсказывать. Сам он не догадается. Некоторые типы документов определяют кодировку своего содержимого, но последовательность байт всегда остается черным ящиком.
Большинство браузеров предоставляют возможность указать кодировку страницы с помощью специального пункта меню. Иные программы тоже имеют аналогичные пункты.
У автора нет разбиения на части, но статья и так длинна. Продолжение будет через пару дней.
Почему английские символы требуют меньше байтов для представления, чем другие алфавиты?
Если вас интересует, как хранятся символы, вы можете зайти на сайт www.unicode.org и осмотреться. Вверху их главной страницы находится ссылка «Кодовые таблицы», в которой показаны все коды символов, доступные в Юникоде.
Всего в Unicode доступно чуть более миллиона кодов (не все они используются). Один байт может содержать 256 различных значений, поэтому вам понадобится три байта, если вы хотите хранить каждый возможный код Unicode.
Вместо этого Unicode обычно хранится в кодировке «UTF-8», которая использует меньше байтов для одних символов и больше для других. Первые 128 кодовых значений хранятся в одном байте, до первых 2048 кодовых значений хранятся в двух байтах, до 65536 хранятся в трех байтах, а остальные занимают четыре байта. & * () — [} {}; ‘: «|,. / <>? И некоторые, которые я забыл, берут один байт; почти весь английский, 98% Немецкий и французский (только догадка) могут храниться в одном байте на символ, и эти символы используются чаще всего: кириллица, греческий, иврит, арабский и некоторые другие используют два байта на символ. Индийские языки, большинство китайских, японские Корейский, тайский, тонны математических символов, может быть записано в трех байтах на символ. Редкие вещи (если вы когда-нибудь захотите написать текст в Linear A или Linear B, Emojis) занимают четыре байта.
Другая кодировка — UTF-16. Все, что занимает 1, 2 или 3 байта в UTF-8, занимает два байта в UTF-16. Это преимущество, если у вас есть китайский или японский текст с очень небольшим количеством латинских символов между ними.
О причинах дизайна UTF-8: у него есть несколько преимуществ перед другими конструкциями. Они есть:
Совместимость с символами US-ASCII
Разумная компактность
Самосинхронизация: это означает, что если вам дана часть последовательности байтов, которые являются символами в кодировке UTF-8, вы можете узнать, где начинается символ. В некоторых кодировках xy и yx могут быть допустимыми кодировками символов, поэтому, если вам дана часть последовательности … xyxyxyxyxyxy … вы не можете знать, какие символы у вас есть.
Правильность сортировки: если вы сортируете строки, содержащие символы в кодировке UTF-8, по их байтовым значениям, то они автоматически сортируются правильно в соответствии со значениями Unicode.
Совместим с однобайтовым кодом: большая часть кода, в котором используются однобайтовые значения, автоматически работает правильно с символами в кодировке UTF-8.
Плюс по любым причинам я забыл.
1 символ это сколько бит
На чтение 5 мин. Просмотров 169 Опубликовано
Я просто смущен. сколько символов в одном бите?
Это зависит от характера и того, в каком кодировании он находится:
Символ 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]
Содержание
Алгоритм кодирования [ править | править код ]
Алгоритм кодирования в 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.
Сколькими битами кодируется 1 символ в unicode. Кодирование текста
Начиная с конца 60-х годов, компьютеры все больше стали использоваться для обработки текстовой информации и в настоящее время большая часть персональных компьютеров в мире (и наибольшее время) занято обработкой именно текстовой информации.
ASCII — базовая кодировка текста для латиницыТрадиционно для кодирования одного символа используется количество информации, равное 1 байту , то есть I = 1 байт = 8 битов.
Для кодирования одного символа требуется 1 байт информации. Если рассматривать символы как возможные события, то можно вычислить, какое количество различных символов можно закодировать: N = 2I = 28 = 256.
Такое количество символов вполне достаточно для представления текстовой информации, включая прописные и строчные буквы русского и латинского алфавита, цифры, знаки, графические символы и пр. Кодирование заключается в том, что каждому символу ставится в соответствие уникальный десятичный код от 0 до 255 или соответствующий ему двоичный код от 00000000 до 11111111.
Таким образом, человек различает символы по их начертаниям, а компьютер — по их кодам. При вводе в компьютер текстовой информации происходит ее двоичное кодирование, изображение символа преобразуется в его двоичный код.
Пользователь нажимает на клавиатуре клавишу с символом, и в компьютер поступает определенная последовательность из восьми электрических импульсов (двоичный код символа). Код символа хранится в оперативной памяти компьютера, где занимает один байт. В процессе вывода символа на экран компьютера производится обратный процесс — декодирование, то есть преобразование кода символа в его изображение. В качестве международного стандарта принята кодовая таблица ASCII (American Standart Code for Information Interchange) Таблица стандартной части ASCII Важно, что присвоение символу конкретного кода — это вопрос соглашения, которое фиксируется в кодовой таблице. Первые 33 кода (с 0 по 32) соответствуют не символам, а операциям (перевод строки, ввод пробела и так далее). Коды с 33 по 127 являются интернациональными и соответствуют символам латинского алфавита, цифрам, знакам арифметических операций и знакам препинания. Коды с 128 по 255 являются национальными, то есть в национальных кодировках одному и тому же коду соответствуют различные символы.
К сожалению, в настоящее время существуют пять различных кодовых таблиц для русских букв (КОИ8, СР1251, СР866, Mac, ISO), поэтому тексты, созданные в одной кодировке, не будут правильно отображаться в другой.
В настоящее время широкое распространение получил новый международный стандарт Unicode, который отводит на каждый символ не один байт, а два, поэтому с его помощью можно закодировать не 256 символов, а N = 216 = 65536 различных
Юникод — появление универсальной кодировки текста (UTF 32, UTF 16 и UTF 8)Эти тысячи символов языковой группы юго-восточной Азии никак невозможно было описать в одном байте информации, который выделялся для кодирования символов в расширенных кодировках ASCII. В результате был создан консорциум под названием Юникод (Unicode — Unicode Consortium) при сотрудничестве многих лидеров IT индустрии (те, кто производит софт, кто кодирует железо, кто создает шрифты), которые были заинтересованы в появлении универсальной кодировки текста.
Первой кодировкой текста, вышедшей под эгидой консорциума Юникод, была кодировка UTF 32 . Цифра в названии кодировки UTF 32 означает количество бит, которое используется для кодирования одного символа. 32 бита составляют 4 байта информации, которые понадобятся для кодирования одного единственного символа в новой универсальной кодировке UTF 32.
В результате чего один и то же файл с текстом, закодированный в расширенной кодировке ASCII и в кодировке UTF 32, в последнем случае будет иметь размер (весить) в четыре раза больше. Это плохо, но зато теперь у нас появилась возможность закодировать с помощью UTF 32 число символов равное двум в тридцать второй степени (миллиарды символов, которые покроют любое реально необходимое значение с колоссальным запасом).
Но многим странам с языками европейской группы такое огромное количество символов использовать в кодировке вовсе и не было необходимости, однако при использовании UTF 32 они ни за что ни про что получали четырехкратное увеличение веса текстовых документов, а в результате и увеличение объема интернет трафика и объема хранимых данных. Это много и такое расточительство себе никто не мог позволить.
В результате развития универсальной кодировки Юникод появилась UTF 16 , которая получилась настолько удачной, что была принята по умолчанию как базовое пространство для всех символов, которые у нас используются. UTF 16 использует два байта для кодирования одного символа. Например, в операционной системе Windows вы можете пройти по пути Пуск — Программы — Стандартные — Служебные — Таблица символов.
В результате откроется таблица с векторными формами всех установленных у вас в системе шрифтов. Если вы выберите в Дополнительных параметрах набор символов Юникод, то сможете увидеть для каждого шрифта в отдельности весь ассортимент входящих в него символов. Кстати, щелкнув по любому из этих символов вы сможете увидеть его двухбайтовый код в кодировке UTF 16, состоящий из четырех шестнадцатеричных цифр:
Сколько символов можно закодировать в UTF 16 с помощью 16 бит? 65 536 символов (два в степени шестнадцать) было принято за базовое пространство в Юникод. Помимо этого существуют способы закодировать с помощью UTF 16 около двух миллионов символов, но ограничились расширенным пространством в миллион символов текста.
Но даже удачная версия кодировки Юникод под названием UTF 16 не принесла особого удовлетворения тем, кто писал, допустим, программы только на английском языке, ибо у них после перехода от расширенной версии кодировки ASCII к UTF 16 вес документов увеличивался в два раза (один байт на один символ в ASCII и два байта на тот же самый символ в кодировке UTF 16). Вот именно для удовлетворения всех и вся в консорциуме Юникод было решено придумать кодировку текста переменной длины .
Такую кодировку в Юникод назвали UTF 8 . Несмотря на восьмерку в названии UTF 8 является полноценной кодировкой переменной длины, т.е. каждый символ текста может быть закодирован в последовательность длинной от одного до шести байт. На практике же в UTF 8 используется только диапазон от одного до четырех байт, потому что за четырьмя байтами кода ничего уже даже теоретически не возможно представить.
В UTF 8 все латинские символы кодируются в один байт, так же как и в старой кодировке ASCII. Что примечательно, в случае кодирования только латиницы, даже те программы, которые не понимают Юникод, все равно прочитают то, что закодировано в UTF 8. Т.е. базовая часть кодировки ASCII перешла в UTF 8.
Кириллические же символы в UTF 8 кодируются в два байта, а, например, грузинские — в три байта. Консорциум Юникод после создания кодировок UTF 16 и UTF 8 решил основную проблему — теперь у нас в шрифтах существует единое кодовое пространство. Производителям шрифтов остается только исходя из своих сил и возможностей заполнять это кодовое пространство векторными формами символов текста.
Теоретически давно существует решение этих проблем. Оно называетсяUnicode (Юникод). Unicode – это кодировочная таблица, в которой для кодирования каждого символа используется 2 байта, т.е. 16 бит. На основании такой таблицы может быть закодированоN=2 16 =65 536 символов.
Юникод включает практически все современные письменности, в том числе: арабскую, армянскую, бенгальскую, бирманскую, греческую, грузинскую, деванагари, иврит, кириллицу, коптскую, кхмерскую, латинскую, тамильскую, хангыль, хань (Китай, Япония, Корея), чероки, эфиопскую, японскую (катакана, хирагана, кандзи) и другие.
С академической целью добавлены многие исторические письменности, в том числе: древнегреческая, египетские иероглифы, клинопись, письменность майя, этрусский алфавит.
В Юникоде представлен широкий набор математических и музыкальных символов, а также пиктограмм.
Для символов кириллицы в Юникоде выделено два диапазона кодов:
Cyrillic (#0400 — #04FF)
Cyrillic Supplement (#0500 — #052F).
Но внедрение таблицы Unicode в чистом виде сдерживается по той причине, что если код одного символа будет занимать не один байт, а два байта, что для хранения текста понадобится вдвое больше дискового пространства, а для его передачи по каналам связи – вдвое больше времени.
Поэтому сейчас на практике больше распространено представление Юникода UTF-8 (Unicode Transformation Format). UTF-8 обеспечивает наилучшую совместимость с системами, использующими 8-битные символы. Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 4 байтов. В целом, так как самые распространенные в мире символы – символы латинского алфавита — в UTF-8 по-прежнему занимают 1 байт, такое кодирование экономичнее, чем чистый Юникод.
В кодируемом английском тексте используется только 26 букв латинского алфавита и еще 6 знаков пунктуации. В этом случае текст, содержащий 1000 символов можно гарантированно сжать без потерь информации до размера:
Словарь Эллочки – «людоедки» (персонаж романа «Двенадцать стульев») составляет 30 слов. Сколько бит достаточно, чтобы закодировать весь словарный запас Эллочки? Варианты: 8, 5, 3, 1.
Единицы измерения объема данных и ёмкости памяти: килобайты, мегабайты, гигабайты…
Итак, в мы выяснили, что в большинстве современных кодировок под хранение на электронных носителях информации одного символа текста отводится 1 байт. Т.е. в байтах измеряется объем (V), занимаемый данными при их хранении и передаче (файлы, сообщения).
Объем данных (V) – количество байт, которое требуется для их хранения в памяти электронного носителя информации.
Память носителей в свою очередь имеет ограниченную ёмкость , т.е. способность вместить в себе определенный объем. Ёмкость памяти электронных носителей информации, естественно, также измеряется в байтах.
Однако байт – мелкая единица измерения объема данных, более крупными являются килобайт, мегабайт, гигабайт, терабайт…
Следует запомнить, что приставки “кило”, “мега”, “гига”… не являются в данном случае десятичными. Так “кило” в слове “килобайт” не означает “тысяча”, т.е. не означает “10 3 ”. Бит – двоичная единица, и по этой причине в информатике удобно пользоваться единицами измерения кратными числу “2”, а не числу “10”.
1 байт = 2 3 =8 бит, 1 килобайт = 2 10 = 1024 байта. В двоичном виде 1 килобайт = &10000000000 байт.
Т.е. “кило” здесь обозначает ближайшее к тысяче число, являющееся при этом степенью числа 2, т.е. являющееся “круглым” числом в двоичной системе счисления.
Таблица 10.
Именование | Обозначение | Значение в байтах | |
килобайт | |||
мегабайт | 2 10 Kb = 2 20 b | ||
гигабайт | 2 10 Mb = 2 30 b | ||
терабайт | 2 10 Gb = 2 40 b | 1 099 511 627 776 b |
В связи, с тем, что единицы измерения объема и ёмкости носителей информации кратны 2 и не кратны 10, большинство задач по этой теме проще решается тогда, когда фигурирующие в них значения представляются степенями числа 2. Рассмотрим пример подобной задачи и ее решение:
В текстовом файле хранится текст объемом в 400 страниц. Каждая страница содержит 3200 символов. Если используется кодировка KOI-8 (8 бит на один символ), то размер файла составит:
Решение
Определяем общее количество символов в текстовом файле. При этом мы представляем числа, кратные степени числа 2 в виде степени числа 2, т.е. вместо 4, записываем 2 2 и т.п. Для определения степени можно использовать Таблицу 7.
символов.
2) По условию задачи 1 символ занимает 8 бит, т.е. 1 байт => файл занимает 2 7 *10000 байт.
3) 1 килобайт = 2 10 байт => объем файла в килобайтах равен:
.
Сколько бит в одном килобайте?
Чему равен 1 Мбайт?
1000000 байт.
1024 байта;
1024 килобайта;
Сколько бит в сообщении объемом четверть килобайта? Варианты: 250, 512, 2000, 2048.
Объем текстового файла 640 Kb . Файл содержит книгу, которая набрана в среднем по32 строки на странице и по64 символа в строке. Сколько страниц в книге: 160, 320, 540, 640, 1280?
Досье на сотрудников занимают 8 Mb . Каждое из них содержит16 страниц (32 строки по64 символа в строке). Сколько сотрудников в организации: 256; 512; 1024; 2048?
Этот пост для тех, кто не понимает, что такое UTF-8, но хочет это понять, а доступная документация часто очень обширно освещает этот вопрос. Я попробую здесь описать это так, как сам бы хотел, чтобы раньше мне кто-то так рассказал. Так как часто у меня по поводу UTF-8 была в голове каша.
Несколько простых правил
- Итак, UTF-8 — это «обертка» для Unicode. Это не отдельная кодировка символов, это «обертнутый» Unicode. Вы, наверное, знаете Base64 кодировку, или слышали о ней — она может обернуть бинарные данные в печатаемые символы. Дак вот, UTF-8 это такой же Base64 для Unicode, как Base64 для бинарных данных. Это раз. Если вы это поймете, то уже многое станет ясно. И она также, как Base64, признана решить проблему совместимости в символах (Base64 была придумана для email, чтобы передавать файлы почтой, в которой все символы — печатаемые)
- Далее, если код работает с UTF-8, то внутри он все равно работает с Unicode кодировками, то есть, где-то глубоко внутри есть таблицы символов именно Unicode символов. Правда, можно не иметь таблиц символов Unicode, если надо просто посчитать, сколько символов в строке, например (см. ниже)
- UTF-8 сделан с той целью, чтобы старые программы и сегодняшние компьютеры могли работать нормально с Unicode символами, как со старыми кодировками, типа KOI8, Windows-1251 и т.п.. В UTF-8 нет байтов с нулями, все байты — они либо от 0x01 — 0x7F, как обычный ASCII, либо 0x80 — 0xFF, что также работает под программами, написанными на Си, как и работало бы не с ASCII символами. Правда, для корректной работы с символами программа должна знать Unicode таблицы.
- Все, что имеет старший 7-ой бит в байте (если считать биты с нулевого) UTF-8 — часть кодированного потока Unicode.
UTF-8 изнутри
Если вы знаете битовую систему, то вот вам краткая памятка , как кодируется UTF-8:
Первый байт Unicode символа в UTF-8 начинается с байта, где 7-ой бит всегда единица, и 6-ой бит всегда также единица. При этом в первом байте, если смотреть на биты слева направо (7-ой, 6-ой и так до нулевого), идет столько единиц, сколько байтов, включая первый, идет на кодирование одного Unicode символа. Заканчивается последовательность единиц нулем. А после этого идут биты самого Unicode символа. Остальные биты Unicode символа попадают во второй, или даже в третий байты (максимум три, почему — смотрите чуть ниже). Остальные байты, кроме первого, всегда идут с началом ’10’ и потом 6 битов следующей части Unicode символа.
Пример
Например: есть байты 110 10000 и второй 10 011110 . Первый — начинается с ‘110’ — это значит, что раз две единицы — будет два байта UTF-8 потока, и второй байт, как и все остальные, начинается с ’10’. А кодируют эти два байта символ Unicode, который состоит из 10100 битов от первого куска + 101101 от второго, получается -> 10000011110 -> 41E в 16-ричной системе, или U+041E в написании Unicode обозначений. Это символ большая русская О .
Сколько максимум байт на символ?
Также, давайте посмотрим, сколько максимум байт уходит в UTF-8, чтобы закодировать 16 бит кодировки Unicode. Вторые и далее байты всегда максимум могут вместить 6 бит. Значит, если начать с конечных байтов, то два байта уйдут точно (2-ой и третий), а первый должен начинаться с ‘1110’, чтобы закодировать три. Значит первый байт максимум в таком варианте может закодировать первые 4 бита символа Unicode. Получается 4 + 6 + 6 = 16 байт. Выходит, что UTF-8 может иметь либо 2, либо 3 байта на символ Unicode (один не может, так как нет надобности кодировать 6 бит (8 — 2 бита ’10’) — они будут ASCII символом. Именно поэтому первый байт UTF-8 никогда не может начинаться с ’10’).
Заключение
Кстати, благодаря такой кодировке, можно взять любой байт в потоке, и определить: является ли байт Unicode символом (если 7-ой бит — значит не ASCII), если да, то первый ли он в потоке UTF-8 или не первый (если ’10’, значит не первый), если не первый, то мы можем переместиться назад побайтово, чтобы найти первый код UTF-8 (у которого 6-ой бит будет 1), либо переместится вправо и пропустить все ’10’ байты, чтобы найти следующий символ. Благодаря такой кодировке, программы также могут, не зная Unicode, считать, сколько символов в строке (на основании первого байта UTF-8 вычислить длину символа в байтах). Вообщем, если подумать, кодировка UTF-8 придумана очень грамотно, и в то же время очень эффективно.
Кодирование информации
Любые числа (в определенных пределах) в памяти компьютера кодируются числами двоичной системы счисления. Для этого существуют простые и понятные правила перевода. Однако на сегодняшний день компьютер используется куда шире, чем в роли исполнителя трудоемких вычислений. Например, в памяти ЭВМ хранятся текстовая и мультимедийная информация. Поэтому возникает первый вопрос:
Как в памяти компьютера хранятся символы (буквы)?
Каждая буква принадлежит определенному алфавиту, в котором символы следуют друг за другом и, следовательно, могут быть пронумерованы последовательными целыми числами. Каждой букве можно сопоставить целое положительное число и назвать его кодом символа . Именно этот код будет храниться в памяти компьютера, а при выводе на экран или бумагу «преобразовываться» в соответствующий ему символ. Чтобы отличить представление чисел от представления символов в памяти компьютера, приходится также хранить информацию о том, какие именно данные закодированы в конкретной области памяти.
Соответствие букв определенного алфавита с числами-кодами формирует так называемую таблицу кодирования . Другими словами, каждый символ конкретного алфавита имеет свой числовой код в соответствии с определенной таблицей кодирования.
Однако алфавитов в мире очень много (английский, русский, китайский и др.). Поэтому следующий вопрос:
Как закодировать все используемые на компьютере алфавиты?
Для ответа на этот вопрос пойдем историческим путем.
В 60-х годах XX века в американском национальном институте стандартизации (ANSI) была разработана таблица кодирования символов, которая впоследствии была использована во всех операционных системах. Эта таблица называется ASCII (American Standard Code for Information Interchange – американский стандартный код для обмена информацией) . Чуть позже появилась расширенная версия ASCII .
В соответствие с таблицей кодирования ASCII для представления одного символа выделяется 1 байт (8 бит). Набор из 8 ячеек может принять 2 8 = 256 различных значений. Первые 128 значений (от 0 до 127) постоянны и формируют так называемую основную часть таблицы, куда входят десятичные цифры, буквы латинского алфавита (заглавные и строчные), знаки препинания (точка, запятая, скобки и др.), а также пробел и различные служебные символы (табуляция, перевод строки и др.). Значения от 128 до 255 формируют дополнительную часть таблицы, где принято кодировать символы национальных алфавитов.
Поскольку национальных алфавитов огромное множество, то расширенные ASCII-таблицы существуют во множестве вариантов. Даже для русского языка существуют несколько таблиц кодирования (распространены Windows-1251 и Koi8-r). Все это создает дополнительные трудности. Например, мы отправляем письмо, написанное в одной кодировке, а получатель пытается прочитать ее в другой. В результате видит кракозябры. Поэтому читающему требуется применить для текста другую таблицу кодирования.
Есть и другая проблема. В алфавитах некоторых языков слишком много символов и они не помещаются в отведенные им позиции с 128 до 255 однобайтовой кодировки.
Третья проблема — что делать, если в тексте используется несколько языков (например, русский, английский и французский)? Нельзя же использовать две таблицы сразу …
Чтобы решить эти проблемы одним разом была разработана кодировка Unicode.
Стандарт кодирования символов Unicode
Для решения вышеизложенных проблем в начале 90-х был разработан стандарт кодирования символов, получивший название Unicode . Данный стандарт позволяет использовать в тексте почти любые языки и символы.
В Unicode для кодирования символов предоставляется 31 бит (4 байта за вычетом одного бита). Количество возможных комбинаций дает запредельное число: 2 31 = 2 147 483 684 (т.е. более двух миллиардов). Поэтому Unicode описывает алфавиты всех известных языков, даже «мертвых» и выдуманных, включает многие математические и иные специальные символы. Однако информационная емкость 31-битового Unicode все равно остается слишком большой. Поэтому чаще используется сокращенная 16-битовая версия (2 16 = 65 536 значений), где кодируются все современные алфавиты.
В Unicode первые 128 кодов совпадают с таблицей ASCII.
В настоящее время большая часть пользователей при помощи компьютера обрабатывает текстовую информацию, которая состоит из символов: букв, цифр, знаков препинания и др.
На основании одной ячейки информационной ёмкостью 1 бит можно закодировать только 2 различных состояния. Для того чтобы каждый символ, который можно ввести с клавиатуры в латинском регистре, получил свой уникальный двоичный код, требуется 7 бит. На основании последовательности из 7 бит, в соответствии с формулой Хартли, может быть получено N=2 7 =128 различных комбинаций из нулей и единиц, т.е. двоичных кодов. Поставив в соответствие каждому символу его двоичный код, мы получим кодировочную таблицу. Человек оперирует символами, компьютер – их двоичными кодами.
Для латинской раскладки клавиатуры такая кодировочная таблица одна на весь мир, поэтому текст, набранный с использованием латинской раскладки, будет адекватно отображен на любом компьютере. Эта таблица носит название ASCII (American Standard Code of Information Interchange) по-английски произносится [э́ски], по-русски произносится [а́ски]. Ниже приводится вся таблица ASCII, коды в которой указаны в десятичном виде. По ней можно определить, что когда вы вводите с клавиатуры, скажем, символ “*”, компьютер его воспринимает как код 42(10), в свою очередь 42(10)=101010(2) – это и есть двоичный код символа “*”. Коды с 0 по 31 в этой таблице не задействованы.
Таблица символов ASCII
код | символ | код | символ | код | символ | код | символ | код | символ | код | символ |
Пробел | . | @ | P | » | p | ||||||
! | A | Q | a | q | |||||||
» | B | R | b | r | |||||||
# | C | S | c | s | |||||||
$ | D | T | d | t | |||||||
% | E | U | e | u | |||||||
& | F | V | f | v | |||||||
» | G | W | g | w | |||||||
( | H | X | h | x | |||||||
) | I | Y | i | y | |||||||
* | J | Z | j | z | |||||||
+ | : | K | [ | k | { | ||||||
, | ; | L | \ | l | | | ||||||
— | M | ] | m | } | |||||||
. | n | ~ | |||||||||
/ | ? | O | _ | o | DEL |
Для того чтобы закодировать один символ используют количество информации равное 1 байту, т. е. I = 1 байт = 8 бит. При помощи формулы, которая связывает между собой количество возможных событий К и количество информации I, можно вычислить сколько различных символов можно закодировать (считая, что символы — это возможные события):
К = 2 I = 2 8 = 256,
т. е. для представления текстовой информации можно использовать алфавит мощностью 256 символов.
Суть кодирования заключается в том, что каждому символу ставят в соответствие двоичный код от 00000000 до 11111111 или соответствующий ему десятичный код от 0 до 255.
Необходимо помнить, что в настоящее время для кодировки русских букв используют пять различных кодовых таблиц (КОИ — 8, СР1251, СР866, Мас, ISO), причем тексты, закодированные при помощи одной таблицы, не будут правильно отображаться в другой кодировке. Наглядно это можно представить в виде фрагмента объединенной таблицы кодировки символов.
Одному и тому же двоичному коду ставится в соответствие различные символы.
Впрочем, в большинстве случаев о перекодировке текстовых документов заботится на пользователь, а специальные программы — конверторы, которые встроены в приложения.
Начиная с 1997 г. последние версии Microsoft Office поддерживают новую кодировку. Она называется Unicode (Юникод) . Unicode – это кодировочная таблица, в которой для кодирования каждого символа используется 2 байта, т.е. 16 бит. На основании такой таблицы может быть закодировано N=2 16 =65 536 символов.
Юникод включает практически все современные письменности, в том числе: арабскую, армянскую, бенгальскую, бирманскую, греческую, грузинскую, деванагари, иврит, кириллицу, коптскую, кхмерскую, латинскую, тамильскую, хангыль, хань (Китай, Япония, Корея), чероки, эфиопскую, японскую (катакана, хирагана, кандзи) и другие.
С академической целью добавлены многие исторические письменности, в том числе: древнегреческая, египетские иероглифы, клинопись, письменность майя, этрусский алфавит.
В Юникоде представлен широкий набор математических и музыкальных символов, а также пиктограмм.
Для символов кириллицы в Юникоде выделено два диапазона кодов:
Cyrillic (#0400 — #04FF)
Cyrillic Supplement (#0500 — #052F).
Но внедрение таблицы Unicode в чистом виде сдерживается по той причине, что если код одного символа будет занимать не один байт, а два байта, что для хранения текста понадобится вдвое больше дискового пространства, а для его передачи по каналам связи – вдвое больше времени.
Поэтому сейчас на практике больше распространено представление Юникода UTF-8 (Unicode Transformation Format). UTF-8 обеспечивает наилучшую совместимость с системами, использующими 8-битные символы. Текст, состоящий только из символов с номером меньше 128, при записи в UTF-8 превращается в обычный текст ASCII. Остальные символы Юникода изображаются последовательностями длиной от 2 до 4 байтов. В целом, так как самые распространенные в мире символы – символы латинского алфавита — в UTF-8 по-прежнему занимают 1 байт, такое кодирование экономичнее, чем чистый Юникод.
Чтобы определить числовой код символа можно или воспользоваться кодовой таблицей. Для этого в меню нужно выбрать пункт «Вставка» — «Символ», после чего на экране появляется диалоговая панель Символ. В диалоговом окне появляется таблица символов для выбранного шрифта. Символы в этой таблице располагаются построчно, последовательно слева направо, начиная с символа Пробел.
Сколько бит содержит 1 байт, и почему? | Рутвет
Оглавление:
- Хранение данных в компьютерной памяти
- Что такое бит?
- Что такое байт?
- Особенности двоичной системы исчисления
- Почему информацию шифруют в двоичном коде?
- Всегда ли байт содержал 8 бит?
- Почему победил именно 8-битный стандарт?
- Где применяются биты с байтами?
Абсолютно любая информация, заложенная в компьютере и на любых его носителях или периферийных устройствах, будь то стартовая программа BIOS или любые текстовые и графические документы, хранятся в его памяти в виде битов и байтов. Поэтому людей, пытающихся понять принцип работы компьютера, очень интересуют вопросы, касающиеся этих мельчайших элементов информации, а также, например, то, сколько бит в 1 байте информации содержится.
Хранение данных в компьютерной памяти
Компьютерная память – это невообразимо большое число ячеек, заполненных лишь единицами и нулями. Ячейкой называется минимальное звено диска, к которому считывающее устройство способно обратиться. В современных компьютерах она физически совпадает с триггером, который настолько мал, что под обычным оптическим микроскопом его увидеть почти невозможно. Каждая ячейка имеет свой уникальный адрес, по нему к ней обращаются любые программы.
Чаще всего ячейка совпадает с одним байтом. Но, поскольку архитектура компьютера может иметь разную разрядность, в ячейке может умещаться 2,4 и 8 байт. Электронные устройства воспринимают байт как мельчайшую единицу информации, хотя на самом деле он ещё делится на более элементарные ячейки – биты. Если в байте может быть закодирован единичный символ – цифра или буква, то в один бит они не «влезут». Хотя технически допустимо оперирование контроллеров единичными битами, но практически это почти не используется. Обычно происходит обращение либо к целым байтам, либо к их группам.Что такое бит?
Чтобы понять, скольким битам равен 1 байт, нужно понять, что представляет собой бит. Часто битом называют мельчайшую единицу информации, но это определение не слишком точное, поскольку достаточно размыто само понятие информации. Более точно выглядит формулировка, определяющая бит, как букву компьютерного алфавита. Сам термин «бит» является сокращением английского словосочетания «binary digit», что в переводе на русский означает двоичная цифра. Компьютерный алфавит до невозможности прост, поскольку включает в себя лишь два символа – 0 и 1, что выражается как отсутствие или наличие сигнала или ложь и истина. С помощью этого простейшего набора логически можно описать абсолютно всё. Не более чем миф третье состояние компьютера – молчание, когда он не передаёт сигналы.
С точки зрения информации сам по себе символ не имеет никакой ценности, поскольку при виде нуля или единицы совершенно невозможно понять, к какого рода информации данное значение может относиться. И независимо от того, 1 байт сколько бит включает, любые программы, тексты и картинки состоят лишь из нулей и единиц. Поэтому в качестве самостоятельной единицы бит оказался не слишком удобен. Поэтому для кодирования удобоваримой информации биты потребовалось объединить в байты.
Что такое байт?
Если бит содержит в себе букву компьютерного алфавита, то байт можно сравнить со словом. В одном байте может содержаться целое число или часть большого числа, текстовый символ, два маленьких числа и прочее. То есть в нём уже присутствует минимальный объём осмысленной информации.Многие любознательные пользователи и начинающие программисты интересуются тем, сколько бит содержит 1 байт.
В современных компьютерах это всегда 8 бит. Но если бит может иметь только 2 значения, то 8 битов байта дают уже 256 различных вариантов (два в восьмой степени даёт число 256).
Например, один бит даёт значения 0 или 1. Два бита уже позволяют комбинации: 00, 01, 10 и 11. Если же используется 8 бит, то в диапазоне между 00000000 и 11111111 помещается именно 256 значений. Не так сложно и запомнить число битов в байте, и сколько значений может принимать каждый байт. В зависимости от кодировки (Юникод, ASCII и прочих) каждое сочетание несёт в себе ту или иную информацию. По этой причине попытка ввести данные на русском языке приводит к их выводу в виде своеобразных символов.
Особенности двоичной системы исчисления
Двоичная система позволяет все те же манипуляции с числами, что и классическая десятичная система: составленные из нулей и единиц числа можно складывать, умножать, делить и вычитать. Но при этом вся математика здесь обходится двумя цифрами, из-за чего она гораздо удобнее для шифрования информации. Любая позиционная система исчисления имеет разряды для чисел: единицы, десятки, сотни и т.д. Но если в десятичной системе максимальная величина одного разряда равна 9, то в бинарной системе это 1. Но поскольку в бинарном разряде есть лишь два значения, то длина бинарных числе очень быстро возрастает. Например, число 9 там выразится как 1001, то есть потребуется 4 символа, при этом каждый двоичный символ будет занимать один бит.
Почему информацию шифруют в двоичном коде?
Десятичная кодировка более удобна для ввода и вывода данных, зато двоичная облегчает процесс её преобразования. Есть ещё и другие системы, основанные на 8 и 16 символах, которые используются для переводов машинных кодов в приемлемую форму. С точки зрения логики двоичная система идеальна. Условно единице присвоено значение «да» или истинности, а ноль в противовес означает «нет» и ложь. Любой прямой вопрос можно разложить на несколько более простых вопросов, имеющих ответы «да» и «нет». А третий вариант («неизвестно») окажется совершенно избыточным. Исследования в области вычислительной техники привели к изобретению трёхразрядных единиц хранения данных, которые получили название тритов.
Диапазон их значений следующий:
- 0 означает пустую ёмкость;
- 1 наполовину заполненная ёмкость;
- 2 полная ёмкость.
Но двоичная система оказалась более гибкой и логичной, поэтому и легла в основу компьютерной логики.
Видео о том, сколько бит в 1 байте информации
Всегда ли байт содержал 8 бит?
Ответ на вопрос, сколько битов содержится в 1 байте, не всегда был одинаковым, а когда-то он и вовсе не имел точного ответа. Под байтом первоначально понималось машинное слово – такое количество бит информации, которое ЭВМ могла обработать за один такт или рабочий цикл. Когда ЭВМ занимали целые залы, её логические схемы оперировали байтами разных размеров: у одних было 6 бит, а в первых моделях компьютеров IBM байт состоял из 9 бит. На данный момент практически победил стандарт байта из 8 бит, поэтому его даже называют единицей информации, включающей 8 бит. Но в некоторых архитектурах по-прежнему используются 32-битные байты, считающиеся за машинное слово. Подобная архитектура используется в сигнальных процессорах и суперкомпьютерах, а во всех широко использующихся ноутбуках, компьютерах и мобильных устройствах только 8-битные.
Почему победил именно 8-битный стандарт?
8-битный стандарт байта стал доминантным из-за победы на рынке платформы IBMPC, которая использовала чрезвычайно популярный процессор Intel 8086. Благодаря её распространённости в 70-х годах прошлого века 8-битный байт стал фактически стандартом. Удобство 8-битного стандарта заключается в том, что в нём точно умещаются две цифры десятичной системы, в то время как 6-битная система способна вместить только один знак, при этом незаполненными останутся 2 бита. В 9-битный байт вписываются 2 знака, но остаётся неиспользованным один бит. К тому же восемь – это два в кубе, что также считается удобным.
Где применяются биты с байтами?
Неопытные пользователи часто путают обозначения бита и байта. Им нужно, в первую очередь, обратить внимание на написание обозначения. Сокращение байта использует заглавную букву «Б» или «B» в английском варианте, а более мелкому биту достались соответственно строчные буквы «б» или «b». Правда есть вероятность, что перепутан регистр, а некоторые программы переводят весь текст автоматически в верхний или нижний регистры. Поэтому лучше просто разделить то, что обычно измеряется в байтах, а что – в битах.
В байтах традиционно выражаются объёмы: флешки, жёсткого диска, дискеты, CD и любого другого носителя информации, причём в более масштабных единицах (килобайтах, мегабайтах, гигабайтах и т.д.).
Битами же измеряют скорость или пропускную способность канала, например, линии Интернета, здесь также господствуют порядковые величины – мегабиты и т.д. Скорость скачивания файлов также отражается в битах, которые при желании можно перевести в байты – просто умножить известную величину на восемь. Наоборот, делением объёма в байтах на восемь можно получить биты, хотя практически это вряд ли кому необходимо.
А Вы часто используете информацию о битах и байтах в жизни, и где Вы её применяете? Расскажите об этом в комментариях.
Что меньше байта. Что меньше бит или байт
Все фотографии, текстовые документы и программы хранятся в компьютерной памяти в виде битов и байтов. Что представляют собой эти мельчайшие единицы информации и сколько бит в байте?
Хранение данных в памятиКомпьютерная память представляет собой огромный набор ячеек, наполненных нулями и единицами. Ячейка — это минимальный объем данных, к которому может обращаться считывающее устройство. Физически она представляет собой триггер (в современных компьютерах). Триггер настолько мал, что его сложно рассмотреть даже под микроскопом. У каждой ячейки есть уникальный адрес, по которому ее находит та или иная программа.
Под ячейкой в большинстве случаев понимают один байт. Но, в зависимости от разрядности архитектуры, она может объединять в себе 2, 4 или 8 байт. Байт воспринимается электронными устройствами как единое целое, но на самом деле он состоит из еще меньших ячеек — битов. В 1 байте можно закодировать какой-нибудь символ, например, букву или цифру, в то время как 1 бита для этого недостаточно.
Контроллеры редко оперируют отдельными битами, хотя технически это возможно. Вместо этого идет обращение к целым байтам или даже группам байтов.
Что такое бит?Часто под битом понимают единицу измерения информации. Такое определение нельзя назвать точным, потому что само понятие информации достаточно размыто. Если говорить более корректно, то бит — это буква компьютерного алфавита. Слово «бит» происходит от английского выражения «binary digit», что дословно означает «двоичная цифра».
Алфавит компьютеров прост и состоит всего из двух символов: 1 и 0 (наличие или отсутствие сигнала, истина или ложь). Этого набора вполне достаточно, чтобы логически описать все, что угодно. Третье состояние, под которым понимают молчание компьютера (прекращение передачи сигналов), является мифом.
Сама по себе буква не несет в себе никакой ценности с точки зрения информации: глядя на единицу или ноль, невозможно понять даже то, к какого рода данным это значение относится. И фото, и тексты, и программы в конечном счете состоят из единиц и нулей. Поэтому бит неудобен в качестве самостоятельной единицы. Следовательно, биты необходимо объединять для того, чтобы кодировать с их помощью полезную информацию.
Что такое байт?Если бит — это буква, то байт представляет собой подобие слова. Один байт может содержать текстовый символ, целое число, часть большого числа, два небольших числа и т. д. Таким образом, в байте уже содержится осмысленная информация, хоть и в небольшом объеме.
Начинающим программистам и просто любознательным пользователям интересно, сколько в 1 байте битов. В современных компьютерах один байт всегда равняется восьми битам.
Если бит способен принимать только два значения, то сочетание восьми битов способно создавать 256 различных комбинаций. Число 256 образуется возведением двойки в восьмую степень (в соответствии с тем, сколько битов в байте).
Один бит — это 1 или 0. Два бита уже могут создавать комбинации: 00, 01, 10 и 11. Когда дело доходит до 8 бит, то вариантов сочетания нулей и единиц в диапазоне 00000000 … 11111111 получается как раз 256. Если запомнить, сколько значений может принимать и сколько бит содержится в одном байте, то запомнить эту цифру будет очень легко.
Каждое сочетание символов может нести в себе различную информацию в зависимости от кодировки (ASCII, Юникод и др.). Именно поэтому пользователи сталкиваются с тем, что введенная на русском языке информация иногда выводится в виде замысловатых символов.
Особенности двоичной системы счисленияДвоичная система имеет все те же свойства, что и привычная нам десятичная: числа, состоящие из единиц и нулей, можно складывать, вычитать, умножать и т. д. Разница лишь в том, что система состоит не из 10-ти, а всего из 2-х цифр. Именно поэтому ее удобно использовать для шифрования информации.
В любой позиционной числа состоят из разрядов: единиц, десятков, сотен и т. д. В десятичной системе максимальное значение одного разряда равно 9, а в бинарной системе — 1. Так как один разряд может принимать лишь два значения, бинарные числа быстро увеличиваются в длину. Например, привычное нам число 9 будет записано как 1001. Это значит, что девятка будет записана четырьмя символами, при этом один двоичный символ будет соответствовать одному биту.
Почему информация шифруется в двоичной форме?
Десятичная система удобна для ввода и вывода информации, а двоичная — для организации процесса ее преобразования. Также очень популярны системы, которые содержат восемь и шестнадцать символов: они переводят машинные коды в удобную форму.
Двоичная система наиболее удобна с точки зрения логики. Единица условно означает «да»: есть сигнал, утверждение истинно и т. д. Ноль ассоциируется со значением «нет»: значение ложно, сигнала нет и т. д. Любой открытый вопрос можно преобразовать в один или несколько вопросов с вариантами ответов «да» или «нет». Третий вариант, например, «неизвестно», будет абсолютно бесполезным.
В ходе развития компьютерных технологий были разработаны и трехразрядные емкости для хранения информации, которые называются триты. Они могут принимать три значения: 0 — емкость пуста, 1 — емкость заполнена наполовину и 2 — полная емкость. Однако двоичная система оказалась более простой и логичной, поэтому получила значительно большую популярность.
Сколько бит в байте было раньше?
Раньше нельзя было сказать однозначно, сколько бит в байте. Первоначально под байтом понимали машинное слово, то есть то количество бит, которое компьютер может обработать за один рабочий цикл (такт). Когда ЭВМ еще не помещались в рабочих кабинетах, разные микропроцессоры работали с байтами различных размеров. Байт мог включать в себя 6 бит, а у первых моделей IBM его размер достигал 9 бит.
Сегодня 8-битные байты стали настолько привычными, что даже в определении байта часто говорится, что это единица информации, состоящая из 8 бит. Тем не менее, в ряде архитектур байт равняется 32 битам и выступает в качестве машинного слова. Такие архитектуры применяются в некоторых суперкомпьютерах и сигнальных процессорах, но не на привычных нам компьютерах, ноутбуках и мобильных телефонах.
Почему победил восьмибитный стандарт?
Байты приобрели восьмибитный размер благодаря платформе с популярнейшим в свое время 8-битным процессором Intel 8086. Распространенность этой модели способствовала тому, что в 1970-х гг. 8 бит в байте фактически стало стандартным значением.
Восьмибитный стандарт удобен тем, что позволяет хранить в 1 байте два символа десятичной системы. При 6-битной системе возможно хранение одной цифры, в то время как 2 бита оказываются лишними. В 9 бит можно записать 2 цифры, но все равно остается один лишний бит. Число 8 является третьей степенью двойки, что обеспечивает дополнительное удобство.
Области использования битов и байтов
Многие пользователи задаются вопросом: как не перепутать бит и байт? В первую очередь необходимо обратить внимание на то, как написано обозначение: сокращенно байт пишется в виде большой буквы «Б» (на английском — «B»). Соответственно, для обозначения бита служит маленькая буква «б» («b»).
Однако всегда есть вероятность, что регистр выбран неверно (например, некоторые программы автоматически переводят весь текст в нижний или верхний регистр). В таком случае следует знать, что принято измерять в битах, а что — в байтах.
Традиционно байтами измеряют объемы: размер жесткого диска, флешки и любого другого носителя будет указан в байтах и укрупненных единицах, например, гигабайтах.
Биты служат для Количество информации, которую пропускает канал, скорость Интернета и т. п. измеряются в битах и производных единицах, например, мегабитах. Скорость скачивания файлов также всегда выводится в битах.
При желании можно перевести биты в байты или наоборот. Для этого достаточно вспомнить, сколько бит в байте, и произвести простое математическое вычисление. Биты превращаются в байты путем деления на восьмерку, обратный перевод осуществляется при помощи умножения на то же самое число.
Что такое машинное слово?
Машинное слово — это информация, записанная в ячейку памяти. Оно представляет собой максимальную последовательность единиц информации, которая обрабатывается, как одно целое.
Соответствует которая на протяжении длительного времени была равна 16 бит. В большинстве современных компьютеров она составляет 64 бита, хотя встречаются и более короткие (32 бита), и более длинные машинные слова. При этом число бит, образующих машинное слово, всегда кратно восьми и может быть легко переведено в байты.
Для конкретного компьютера длина слова является неизменной и относится к ряду важнейших характеристик «железа».
Что ныне измеряется в битах и байтах? Среднестатистический пользователь ПК о таких единицах измерения информации практически забыл. И забыл бы полностью, если бы не путаница между килобитами и килобайтами, в которых измеряются скорости путешествия в сети Интернет. Между тем, еще со школы каждый знает, что приставка кило- множит исходный показатель на тысячу. Пытаясь разобраться, пользователь делит, умножает и окончательно путается в дебрях арифметики. Возьмемся же за ключевые понятия — бит и байт — и посмотрим, под каким соусом их едят.
Определение
Бит — минимальная единица измерения количества информации (подобно букве в лингвистике). В двоичной системе счисления бит равен одному разряду.
Байт — единица хранения и обработки цифровой информации, представляющая собой совокупность битов, которые система может обрабатывать одновременно (в лингвистике назвали бы словом).
Сравнение
В одном байте — 8 бит. Бит может принимать значение 0 или 1, байт — от 0 до 256. Когда речь идет о скорости передачи данных, значения бит/с и байт/с (Кбит/с и Кб/с соответственно) существенно отличаются. В килобитах считается скорость подключения, или количество полученной/переданной информации за единицу времени. В килобайтах обычно отображается скорость скачивания файлов. Таким образом, при скорости подключения 128 Кбит/с скорость скачивания (в идеальных условиях) будет 16 Кб/с, то есть документ размером 160 Кб загрузится за 10 с.
Выводы сайт
- Бит — минимальная единица измерения, байт — единица хранения и обработки цифровой информации
- В одном байте 8 бит
- При определении скорости подключения обычно оперируют битами, скорости скачивания файлов — байтами.
Некоторые современные пользователи, которые разбираются в компьютерах, могут с уверенностью сказать, что в одном байте содержится восемь бит информации, и будут по-своему правы. Однако это не всегда так: в этой статье мы расскажем вам подробнее, сколько бит в байте.
История вопроса о байтах и битах
Большинство современных компьютеров используют именно такую информацию, где один байт равен восьми битам. Но все дело в том, что старые компьютеры (то есть одни из первых) использовали байт с совершенно другим количеством битов, где в одном байте содержалось от шести до девяти битов. На самом деле байт — это единица измерения информации, которую придумали сравнительно недавно. Байт стал равен восьми битам лишь с 1970 года, поскольку именно тогда ввели на это стандарт.
Почему байт равняется именно восьми, вам никто точно не скажет, но давайте хотя бы разберемся, почему восемь бит выбрали в качестве стандарта. Так, в одной из старых вычислительных систем одна цифра занимала четыре бита. И поэтому байт, равный восьми битам, позволял вмещать в себя двухзначные числа и, таким образом, байт шестибитный стал бесполезен, так как две цифры в байт уже попросту не вмещалось.
Еще одна версия, почему приняли стандарт равный восьми, заключается в том, что все числа, связанные с компьютером, кратны именно восьмёрке. Пример: оперативная память. Вначале идет 128 мегабайт, далее 256, чуть позже 512, а потом уже идут гигабайты (один, два, четыре, восемь и т.д.) Вот и результат: четыре бита — слишком мало, 16 никогда не применялись, а вот восемь — как раз то, что надо.
Переводим биты в байты и обратно
Давайте теперь попробуем ответить на вопрос, сколько бит содержит 2 байта? Итак, мы знаем, что один байт равен восьми, соответственно, восемь нужно умножить на два, получится шестнадцать. Получается, что в двух байтах содержится шестнадцать бит.
Полезно знать, что 1024 байта составляют килобайт (или можно сказать, что килобайт — это 8192 байта), 1024 килобайта — мегабайт, а 1024 мегабайта — гигабайт. Соответственно, терабайт — это уже 1024 гигабайта. Надо сказать, что в последнее время информацию стали мерить уже и терабайтами, поэтому и эти знания нам вскоре пригодятся.
Возможно, вам также будет интересно узнать и другую информацию по этой теме из нашей статьи .
Как известно, компьютер оперирует информацией, однако очевидно, что не так, как мы. Каким же образом и как измерить эту информацию? Что же такое информация? Давайте разбираться! Для тех, кому нужно перевести биты, байты, килобайты, мегабайты, гигабайты, терабайты, я сделал удобную «считалку», которую Вы сможете скачать в конце статьи.
Информация — это все то, что Вы могли видеть, слышать или читать. Объёмы информации постоянно растут, и с каждым днем все быстрее и быстрее, поэтому встает проблема её хранения и систематизации, чтобы потом можно было что-то легко найти. Человечество дошло от наскальных записей и пергамента до цифровых носителей информации, однако понимать устройства хранения информации становится все сложнее.
Уже не раз упоминалось то, что компьютер обрабатывает информацию с помощью , что она передается от устройства к устройству в системном блоке с помощью кабелей. Также Вы уже знаете, что есть , например, устройства ввода (клавиатура и мышь, к примеру), с помощью которых мы можем отдавать команды компьютеру, а значит они тоже передают некую информацию. Для этого они подключаются к . Мы уже научились подключать некоторые устройства. Ну и, наконец, обработанная информация используется нами. Например, она возвращается к нам через устройства вывода, примером чему служит изображение на мониторе. Все мы привыкли к информации как, например, буквы в книге, наши записи в ежедневнике. Тут все просто: информация хранится в книге в виде текста, а книга на полке в библиотеке. А как Вы могли уже прочитать, информация в компьютере хранится на носителях . Вот, например, жесткий диск (про него читаем ) в системном блоке (он на фото)
Мы можем прочитать только то, что на наклейке, да и то непонятно значение большинства надписей. Однако в этой небольшой железяке, которую можно положить в карман, могут храниться миллионы книг и документов, тысячи изображений, аудио- и видеозаписей. Каким же образом? Дело в том, что компьютер — это машина, по проводам течет ток, и компьютер не может воспринимать ту же книгу или окружающий мир как мы. Зато прекрасно может определить есть сигнал или нет, ну или же маленькое или большое напряжение соответственно. Таким образом, компьютер может воспринять информацию о наличии или отсутствии сигнала как «да» или «нет» или, в цифровом эквиваленте, 0 или 1. Таким образом мы имеем нехитрую систему из нуля и единицы, которая и называется двоичной , так как цифры всего две. Одна цифра (0 или 1) называется бит — это самая маленькая единица компьютерной информации . Её компьютер и может хранить и передавать. Однако это очень мало, как же хранить, к примеру, слова?
Что такое байт. Сколько бит в байте.
Вы, наверное, слыхали про азбуку Морзе, где комбинации длинных и коротких сигналов (точек и тире) расшифровывались в слова. А если взять комбинацию из 8 цифр, каждая из которых может быть единицей или нулем, то получим 256 комбинаций, чего хватит для отображения и цифр и букв, причем и не одного алфавита. И вот эти 8 бит называются байтом . Таким образом в байте 8 бит . Это необязательно держать в голове или учить наизусть, можно работать на компьютере и без таких знаний, но Вам все же придется оценивать размер информации. Мерять информацию битами и даже байтами сложновато, потому как объёмы информации гораздо больше.
Что такое килобайт, мегабайт и гигабайт. Как перевести килобайты в мегабайты и гигабайты в мегабайты.
В десятичной системе исчисления мы используем приставки, чтобы обозначить большое число. Например: приставка кило- означает, что указанное число надо умножить на тысячу. 1 килограмм = 1000 грамм. Но килобайт — это не тысяча байт , а 2 в степени 10, то есть 1024 байт, что не совсем корректно. К этому сложновато сперва привыкнуть, даже есть такой анекдот:
— Чем отличается программист от обычного человека?
— Программист думает, что килограмм колбасы — это 1024 грамма, а обычный человек думает, что килобайт — это 1000 байт.
Приставка мега- предполагает миллион, но мегабайт — это опять же 1024 килобайт или 1048576 байт. Как видите, мегабайт больше килобайта. Гигабайт — это 1024 мегабайт = 1048576 килобайт = 1073741824 байт. Терабайт — это 1024 гигабайт соответственно.
Название | Обозначение | Сколько было бы в десятичной системе | В двоичной | |
1 | ||||
Килобайт | 1024 | |||
Мегабайт | 10 6 = 1 000 000 | 1 048 576 | ||
Гигабайт | 10 9 = 1 000 000 000 | 1 073 741 824 | ||
Терабайт | 10 12 = 1 000 000 000 000 | 1 099 511 627 776 | ||
Петабайт | 1 125 899 906 842 624 |
Вот самые распространенные единицы измерения объёма информации. Чтобы перевести килобайты в мегабайты , надо разделить их на 1024, а чтобы перевести гигабайты в мегабайты надо их умножить на 1024. Было предложено для устранения путаницы использовать для двоичных приставок «би», но кибибайт и мебибайт звучат не очень приятно и непривычно, поэтому они пока не прижились.
Чтобы понять, что будет представлять собой привычная нам вещь в электронном виде (в плане объема), дам примерные цифры:
- Содержимое печатного листа А4 — 100 килобайт
- 1,5 часа фильма в невысоком (для современных масштабов) качестве — 1,5 гигабайта. В высоком может быть и 40 гигабайт.
- Фото среднего качества — 1-1,5 мегабайт
Помогите нам ее улучшить!
Отправить ответ
Спасибо за обратную связь!
Любой человек, который хоть немного взаимодействовал с компьютерами, знаком с такими терминами как «Гигабайт», «Мегабайт» и другими.
Они обозначают объем физического носителя информации, типа флешки, жесткого диска или же объем любого файла, хранящегося на компьютере.
Проще говоря – эта величина обозначает, сколько мест на компьютере занимает любой файл, или же сколько в сумме носитель способен вместить информации.
Если вы читаете эту статью с целью перевода одной единицы измерения в другую, тогда рекомендую сразу воспользоваться бесплатным онлайн калькулятором в низу страницы.
Вводите в поле любой значение, выбираете из списка величину и калькулятор произведет преобразование.
Что такое байт, килобайт, мегабайт, гигабайт
Несколько десятков лет назад память компьютеров была небольшой, и составляла не более десятка бит или пары байтов. Хранить там можно было несколько формул, пару примеров или математических выражений.
Сейчас же объемы жестких дисков составляют по несколько терабайт, а размеры файлов исчисляются гигабайтами. Поэтому с ходом компьютерного прогресса появилась проблема в записи того, сколько памяти занимает документ.
Именно тогда и были придуманы другие величины, которые полностью выходили из термина «бит».
Иначе говоря, термины «байт» , «килобайт» , «мегабайт» и «гигабайт» — это универсальные единицы измерения объема информации, которые обозначают то, сколько места файлы занимают на жестком диске.
Как оно работает?
Все жесткие диски, SD-карты, флешки можно объединить под одним общим названием – физический носитель .
Говоря простым языком, все эти физические носители состоят из небольших ячеек для хранения информации.
В них посредством двоичного кода записываются данные, которые переносятся на него. Эти ячейки называются битами, и именно они является наименьшей величиной компьютерной информации.
Когда вы переносите информацию на носитель – она как бы записывается в этих ячейках памяти и начинает занимать место.
Собственно, объем файла и обозначает, сколько байтов будет задействовано при хранении определенного файла. В этом и заключается принцип обозначения объема.
Кроме того, данные, которые используются в системе временно записываются в особый участок памяти – оперативную .
Они присутствуют там до тех пор, пока необходимы, и после этого выгружаются. Данные туда записываются в точно такие же ячейки, поэтому RAM имеет свое обозначение объема, пусть и гораздо меньшее, чем жесткие диски.
Что больше – мегабит или мегабайт
Нередко на описании USB-портов материнской платы, а также в характеристиках к флеш-картам и другим переносным носителям указывается скорость передачи информации.
Она обозначается как Гб/сек или Мб/сек, однако не надо путать их – это вовсе не гигабайт/секунду и не мегабайт/секунду.
В данном случае так обозначаются другие единицы измерения – мегабиты и гигабиты.
С их помощью измеряется скорость передачи информации.
Эти величины намного меньше, чем мегабайты и гигабайты, и вычисляются они, в отличие от вышеназванных объемов, в десятичной системе счисления.
Один мегабит равен примерно миллиону бит. Один гигабит равен миллиарду бит информации.
Почти всегда эти обозначения можно увидеть в скоростях интернет-провайдеров.
Поэтому, если скорость вашей сети равна 100 Мбит/сек, то за одну секунду подключения на ваш компьютер поступит 1 000 000 * 100 бит информации.
Технологии интернет-соединения дают возможность предлагать пользователям уже не мегабитные, а гигабитные варианты подключения.
Стандарты портов USB 3.0 позволяют передавать информацию на скорости 5Гбит/сек, и это далеко не предел – ведь уже сейчас в материнских платах появляются разъемы более высоких и скоростных версий.
Стоит отметить, что вопрос о том, что больше: мегабит или мегабайт – некорректен и на него нельзя дать ответ.
Это разные величины, разные способы измерения. Они хоть и сопоставляются между собой, однако, никто этого не делает, поскольку это не имеет смысла и практической пользы.
Сколько мегабайт в гигабайте
Все большее выходит из меньшего. Так, группа из восьми ячеек бита создает одну большую ячейку байта, то есть 8 бит = 1 байт .
- 1024 байт = 1 килобайт,
- 1024 килобайт = 1 гигабайт,
- 1024 гигабайт = 1 терабайт.
Большие объемы не используются в домашних ПК, поэтому говорить о них нет особого смысла.
У рядового пользователя сразу встанет закономерный вопрос – а почему расчеты и градация такая странная?
Не проще ли было сделать так, чтобы 10 бит равнялись 1 байту, а 1 гигабайт соответствовал 1000 мегабайт?
Да, действительно, это было бы гораздо проще. Однако, проще в привычной нам системе счисления.
Дело вот в чем. В реальном мире мы используем диапазон чисел от 0 до 9. Это называется десятичная система счисления. Но компьютеры думают по-другому: они знают только два числа – 0 и 1, то есть система их вычислений двоичная .
Эти числа, условно, обозначают «Да» или «Нет». В данном случае они показывают, заполнена ячейка хранения информации, или нет.
Не вдаваясь в математику, стоит сказать только о том, что при переводе чисел из понятной компьютеру двоичной системы в нашу, десятеричную, двойка возводится в определенную степень.
А в степени двойки нету чисел, кратных 10. Именно поэтому расчеты такие странные: 1 байт в данном случае равен 2 в 3 степени бит и так далее.
Таким образом градация осуществляется от двойки, и число тем больше, чем большее количество раз ее перемножают саму на себя.
Почему HDD в 1Гб не равен 1000 Мб
Исходя из объяснения выше, один гигабайт больше, чем тысяча мегабайт ровно на 24 единицы. Поэтому в характеристиках на жестких дисках пишут точно – сколько составляет их объем. Округлять эти величины также нельзя.
Соответственно, 8 гигабайт оперативной памяти составляет не 8000 мегабайт, а 8192.
Именно по этой же причине иногда при покупке носителя информации его объем составляет немного меньше, чем написано в характеристиках.
Ровного значения просто не может быть, поэтому нередко вместо обещанных десяти гигабайт обнаруживается девять.
Где используются эти величины?
Как уже было сказано выше – эти термины применяются в компьютерной IT-сфере.
Например, при обозначении вместительности HDD. Современные жесткие диски уже имеют емкость больше одного терабайта, и продолжают расширяться.
С флешкартами и другими переносными носителями все скромнее – их максимальный объем может достигать 128 гигабайт.
Этими же терминами обозначается объем файлов.
Разброс в этом плане гораздо больше, бывают случаи, когда объемный и большой пласт информации весит несколько гигабайт, или же текстовый файл, занимающий всего пару килобайт.
Еще интереснее дела обстоят с оперативной памятью компьютера.
Ее объем также измеряется в ячейках памяти, и сейчас многие профессиональные машины оборудованы несколькими плашками RAM, общий размер которых может достигать 128 гигабайт.
Это обусловлено тем, что на обработку информации необходимо все больше и больше ресурсов – и для того, чтобы программа работала стабильно, во временной памяти должно быть много места.
А есть ли больше?
Существуют ли величины больше, чем терабайт? Да, конечно, они есть.
- 1024 терабайт – это 1 петабайт.
- 1024 петабайта – 1 экзабайт.
Дело в том, что современные технологии еще не дошли до создания носителей и уж тем более файлов, объемом и размером хотя бы приближенным к этим величинам – поэтому в повседневной жизни они используются крайне редко.
Однако, они широко используются для компьютерных расчетов в науке и высоких технологиях.
С учетом того, насколько быстро сейчас идет технологический прогресс – не исключено, что через пару лет на прилавках появятся жесткие диски объемом в 1024 терабайт
Таблица перевода величин: бит, байт, Кб, Мб, Гб, Тб
Существует таблица всех величин, которые используются в современных жестких дисках, других носителях информации, а также файлах.
Она создана специально для удобства точного определения объемов информации и дана ниже. В нее включены только те единицы измерения, которые можно увидеть и применить в реальной жизни.
После терабайта измерение хоть и ведется, однако на уровне науки и высоких технологий, а не повседневной жизни.
Достаточно просто определить, сколько бит в секунду передается к вам на компьютер, полученное значение разделить на 8, и потом на 1024.
Например, на скорости 100 Мб/сек в одну секунду вам будет передаваться примерно 12 мегабайт информации.
Недостаток таблицы заключается в том, что по ней можно определить только ровные значения, встретить которые можно нечасто.
Для того, чтобы точно определить вес файла или объем жесткого диска, можно воспользоваться онлайн-конвертером, который представлен чуть ниже.
Онлайн-конвертер величин
Конечно, информации, представленной в таблице величин, недостаточно для комфортных расчетов.
Очень мало файлов, вес которых будет точно равен одному гигабайту или сотне мегабайт, и поэтому даже имея под рукой эту справочную информацию, будет тяжело просчитать, носитель какого объема нужен для того, чтобы полностью перенести большой документ.
Именно для этого на этом сайте и установлен онлайн-конвертер величин.
Работает он очень просто – вы указываете объем и величину, в которой он выражен. Далее вам нужно выбрать значение, в которое требуется перевести число – и конвертер выдаст вам точное значение.
Тест по информатике для учащихся 8 класса_1 полугодие
Контрольный тест по информатике за I полугодие (8 класс)
I вариант
Часть А. Выбери один правильный ответ:
1. Сколько бит памяти компьютера займёт слово «кибернетика»
1) 11 бит; 2) 80 бит; З) 88 бит; 4) 8 бит
2. Алфавит племени Мульти состоит из 16 букв. Какое количество информации несёт одна буква этого алфавита?
1) 4 бита; 2) 8 бит; З) 4 байта; . 4) 8 байт
3. Информацию, отражающую истинное положение дел, называют:
1) понятной; 2) достоверной; З) объективной; 4) полной
4. Какое устройство ПК предназначено для вывода информации?
1) Процессор; 2) Монитор; З) Клавиатура; 4)Сканер
5. Считая, что каждый символ кодируется 1 байтом, оцените информационный объем следующего предложения в кодировке КОИ-8: «Я помню чудное мгновенье…»
1) 27 байт; 2) 54 байта; З) 216 байт; 4) 108 байт
6. Пользователь работал с каталогом С:\Физика\Задачи\Кинематика. Сначала он поднялся на один уровень вверх, затем еще раз поднялся на один уровень вверх и после этого спустился в каталог Экзамен. Запишите полный путь каталога, в котором оказался пользователь.
1) С:\Физика
2) С:\Экзамен
З) С:\Физика\Экзамен
4) С:\Физика\Задачи\Экзамен
7. Для хранения информации используют: 1) принтер; 2) монитор; З) диск; 4) автомобиль
8. Название, какого устройства пропущено в общей схеме компьютера?
1) Модем; 2) Внешняя память; З) Оперативная память; 4) Дисковод.
Часть В. Ответом на задание этой части будет некоторое пропущенное слово или комбинация букв и (или) чисел.
9. Устройствами вывода информации являются:
а) принтер; б) монитор; в) клавиатура; г) мышь; д) световое перо; е) сканер
ж) колонки; з) модем; и) микрофон; к) наушники; л) плоттер
10. Установите соответствие:
1. Текстовый файл
2. Графический файл
З. Архивный файл
4. Звуковой файл.
А. Замок. bmp
Б. Дворцы. гаг
В. Лето. mрЗ
Г. Письмо. doc
Часть С. Напишите развёрнутое решение предложенного задания:
11. Текст занимает 4 полных страницы. На каждой странице размещается З0 строк по 60 символов в строке. Какой объем оперативной памяти (в байтах) займет этот текст?
12. Переведите числа из одной системы счисления в другую:
1) 3710 →А2;
2) 1011012 →А10;
3) 12510 →А8;
4) 5178 →А10.
Контрольный тест по информатике за 1 полугодие (8 класс)
II вариант
Часть А. Выбери один правильный ответ:
1. Сколько бит памяти компьютера займет слово «информатика»?
1) 11 бит; 2) 80 бит; 3) 8 бит; 4) 88 бит
2. Алфавит племени Пульти состоит из 32 букв. Какое количество информации несёт одна буква этого алфавита?
1) 5 бит; 2) 8 бит; 3) 5 байт; 4) 8 байт.
3. Информацию, не зависящую от чужого мнения, называют:
1) достоверной; 2) актуальной; 3) объективной; 4) полезной
4. Какое устройство ПК предназначено для ввода информации?
1) Процессор; 2) Монитор; 3) Клавиатура; 4) Принтер
5. Считая, что каждый символ кодируется 16 битами, оцените информационный объем следующего предложения в кодировке Unicode: «Я помню чудное мгновенье…»
1) 27 бит; 2) 432 бита; 3) 216 бит; 4) 108 бит
6. Пользователь работал с каталогом С:\Архив\Рисунки\Натюрморты. Сначала он поднялся на один уровень вверх, затем еще раз поднялся на один уровень вверх и после этого опустился в каталог Фотографии. Укажите полный путь каталога, в котором оказался пользователь.
1) С:\Архив\Рисунки\Фотографии;
2) С:\Архив\Фотографии;
3) С:\ Фотографии\Архив;
4) С:\Фотографии.
7. Выберите лишнее устройство:
1) жесткий диск; 2) магнитная лента; 3) дискета; 4)принтер
8. Название, какого устройства пропущено в общей схеме компьютера?
1) Модем; 2) Внешняя память; 3) Дисковод; 4) Контролер устройства вывода.
Часть В. Ответом на задание этой части будет некоторое пропущенное слово или комбинация букв и (или) чисел.
9. Устройствами ввода информации являются:
а) принтер; б) монитор; в) клавиатура; г) мышь; д) световое перо; е) сканер;
ж) колонки; з) модем; и) микрофон; к) наушники; л) плоттер;
10. Установите соответствие:
1. Текстовый файл
2. Графический файл
3. Архивный файл
4. 3вуковой файл
А. Летний дворец. zip
Б. Солнышко. mp3
В. Проба.dос
Г. Гроздь рябины. jpg
Часть С. Напишите развёрнутое решение предложенного задания:
11. Книга, набранная с помощью компьютера, содержит 50 страниц; на каждой странице — 40 строк, в каждой строке — 60 символов. Каков объём информации (в байтах) в книге?
12. Переведите числа из одной системы счисления в другую:
1) 12510 →А2;
2) 10110112 →А10;
3) 31510 →А8;
4) 10108 →А10.
Инструмент преобразованиязнаков в биты
Armazenamento De DadosBit
Bit — это базовая единица вооружения цифровой информации. É um acrônimo para dígito binário. Cada bit registra uma das duas respostas Possíveis a uma única pergunta: 0 ou 1, sim ou não, ligado ou desligado. Quando um dado является представителем como binário (base 2) números, cada dígito binário é um único bit. (Em 1946, palavra «bit» foivention pelo estatístico americano e cientista da computação John Tukey.)
Byte
Byte — это единая информация, используемая для обработки вычислений. Refere-se a uma unidade de memória endereçável. Seu tamanho Pode Variar dependendo da máquina или linguagem de computação. На главном уровне контекста um byte é igual — 8 бит (или 1 октет). (Em 1956, есть единое целое с именами инженеров IBM, Вернер Буххольц.)
Caráter
Нет информации в цифровом формате, т.е.
Gibibyte
Гибибайт — это многократный байт, единое целое с цифровой информацией, префиксы норм базового мультипликатора гиби (символы Gi).O símbolo da unidade de gibibyte é GiB.
Gigabit
Gigabit — это единое целое для цифровой информации или передачи. Размер 1024 мегабит, 1048576 килобит или 1073741824 бит
Gigabyte
Gigabyte — это единое хранилище цифровых данных. Размер 1024 мегабайта, 1.048.576 килобайт, или 1073741824 байта
Kibibyte
O Kibibyte (символ KiB, сокращение двоичного байта в килобайтах) является одним из основных средств массовой информации электронного обмена сообщениями, установленного IEC 2000 года. ) como: 1 кибибайт = 1.024 байта
Килобит
Килобит — это единая единица хранения цифровой информации или передачи. É igual a 1024 бит.
Килобайт
Килобайт — это единое целое с цифровыми данными. Размер 1024 байта.
Mebibyte
О mebibyte é um múltiplo do byte, uma unidade de armazenamento de informação digital, prefixado pelo multipliermebi padrões de base (símbolo Mi). Символы унидад де мебибайт é MiB.
Мегабит
Мегабит — это единое целое для цифровой информации или передачи.Значение 1024 или 1.048.576 бит.
Мегабайт
Мегабайт — это единая упаковка цифровых данных. Размер составляет 1024 или 1,048,576 байта.
Mword
Нет информации в цифровом формате, Mword имеет 4 байта или 32 бита.
Полубайт
Полубайт — Sucessão de quatro cifras binárias (биты) [1]. Полубайт = 4 бита, 2 полубайта = 1 байт = 8 битов, 4 полубайта = 1 слово = 2 байта = 16 бит
Петабит
Петабит — это однозначное обозначение цифровой информации или передачи.É igual 1024 терабайт, 1048576 гигабит, 1073741824 мегабит.
Петабайт
Петабайт — это единая упаковка цифровых данных. Размер 1024 терабайта, 1.048.576 гигабайт, 1073741824 мегабайт.
Qword
Нет цифрового информационного наполнения, например, Qword имеет 8 или 64 бита.
Tebibyte
O tebibyte — um múltiplo do byte, uma unidade de armazenamento de informação digital, prefixados pelas normas base multiplicador Tebi (símbolo Ti).О символах унидаде тебибите TiB.
Терабит
Терабит — это единое целое для цифровой информации или передачи. É igual a 1024 гигабайта, 1048576 мегабит, 1073741824 килобит.
Терабайт
Терабайт — это единое целое с цифровыми данными. Размер составляет 1024 гигабайта, 1.048.576 мегабайт, килобайт 1073741824.
Палавра
Нет цифрового информационного наполнения, это может быть 2 байта или 16 бит.
Стандартный набор символов ASCII
байтов часто используются для хранения отдельных символов в текстовом документе.В наборе символов ASCII каждому двоичному значению от 0 до 127 присваивается определенный символ. Большинство компьютеров расширяют набор символов ASCII, чтобы использовать полный диапазон из 256 символов, доступных в байте. Верхние 128 символов обрабатывают специальные вещи, такие как символы с диакритическими знаками из распространенных иностранных языков.
Ниже вы можете увидеть 127 стандартных кодов ASCII. Компьютеры хранят текстовые документы как на диске, так и в памяти, используя эти коды. Например, если вы используете Блокнот в Windows 95/98 для создания текстового файла, содержащего слова «Четыре балла и семь лет назад», Блокнот будет использовать 1 байт памяти на символ (включая 1 байт для каждого символа пробела между словами. — символ ASCII 32).Когда Блокнот сохраняет предложение в файле на диске, файл также будет содержать 1 байт на символ и на пробел.
Попробуйте этот эксперимент: откройте новый файл в Блокноте и вставьте в него предложение «Четыре балла и семь лет назад». Сохраните файл на диск под именем getty.txt . Затем воспользуйтесь проводником и посмотрите размер файла. Вы обнаружите, что размер файла на диске составляет 30 байт: по 1 байту на каждый символ. Если вы добавите еще одно слово в конец предложения и повторно сохраните его, размер файла увеличится до соответствующего количества байтов.Каждый символ занимает байт.
Если бы вы посмотрели на файл так, как на него смотрит компьютер, вы бы обнаружили, что каждый байт содержит не букву, а цифру — число — это код ASCII, соответствующий символу (см. Ниже). Итак, на диске номера файлов выглядят так:
F o u r a n d s e v e n 70 111 117 114 32 97 110 100 32 115 101 118 101 110
Посмотрев в таблицу ASCII, вы можете увидеть взаимно однозначное соответствие между каждым символом и используемым кодом ASCII.Обратите внимание на использование 32 для пробела — 32 — это код ASCII для пробела. Мы могли бы преобразовать эти десятичные числа в двоичные числа (таким образом, 32 = 00100000), если бы мы хотели быть технически правильными — именно так компьютер действительно справляется с вещами.
Первые 32 значения (от 0 до 31) — это коды для таких вещей, как возврат каретки и перевод строки. Пробел — это 33-е значение, за которым следуют знаки препинания, цифры, символы верхнего и нижнего регистра. Чтобы увидеть все 127 значений, воспользуйтесь Unicode.диаграмма организации.
Далее мы узнаем о байтовых префиксах и двоичной математике.
Пожертвование? Harley Hahn О Харлее Центр Харли Хана Бесплатная рассылка Harley Hahn Отправить сообщение Harley Hahn’s Поиск на веб-сайте Вопросы-Ответы | Карта сайта | Биты, байты и жевательная резинка Сегодня дети воспринимают компьютеры как должное, так же, как их родители взяли радио и телевидение как должное во время их детство.Биты и байты являются частью детство сейчас, вместе с субботним утром мультфильмы и жевательная резинка. Вскоре вы услышите, как дети пение на детской площадке: Биты, байты и жевательная резинка, Но как насчет тех из нас, кто не вырос? в доме, полном компьютеров? Как мы можем сделать смысл всего этого? Все говорят о битах и байты, но когда вы подойдете к делу, кто они такие? Бит — это сущность, у которой всегда есть один двух возможных значений.Два значения: «включить и выключить.» Программисты используют числа 0 и 1 для представления этих двух значений: 0 означает «выключено», а 1 означает «включено». Таким образом, отключенный бит имеет значение 0; а Включенный бит имеет значение 1. Концептуально память компьютера состоит из длинные сильные биты. Другими словами, компьютер память можно представить как длинную цепочку 0 и 1. Например, предположим, что небольшая часть память компьютера содержит четыре бита, которые включен, за которым следуют два выключенных бита, за которым следуют два включенных бита.Использование нулей и 1с, мы бы сказали, что эта область памяти содержит: 11110011 Вы можете спросить, как хранятся нули и единицы? Являются есть действительно крошечные электрические компоненты, которые выключены или включены? Ответ: это не так иметь значение. Небольшая пластиковая и силиконовая память Чип хранит нули и единицы определенным образом. А дискета хранит их по-другому. В Фактически, каждый отдельный тип компьютерной памяти хранит нули и единицы по-своему. Когда компьютер выполняет программу (последовательность инструкций), происходит то, что какая-то часть оборудования работает с строки нулей и единиц. Как ни странно, но только работа, которую выполняет компьютер, в конечном счете, манипулировать нулями и единицами. Конечно, это все равно, что сказать, что все Шекспир записывал длинные последовательности букв из алфавита. Важность информации приходит не из того, как она есть хранится, но как это организовано и что это означает.Слово «роза» написано на кусочке бумага, будет иметь то же значение, что и слово «Роза» хранится на дискете. Основной способ организации битов: группы по восемь человек. Группа из восьми битов называется «байтом». Вы можете думать об этом как о единица измерения для запоминания; одна нога равно 12 дюймов, один литр равен одному тысяча миллилитров, один байт равен восьми биты. Мы можем рассматривать байт как объект, который содержит восемь последовательных нулей и единиц.Для например, один байт может содержать 10001011, в то время как другой байт может содержат 00110101. Если бы вы разобрались, вы бы увидели, что всего 256 различных комбинаций. Таким образом, вы можете думать о компьютерной памяти как о длинная последовательность битов, разделенная на байты; каждый байт содержит один из 256 различные комбинации нулей и единиц. Перейти к началу страницы
Компьютеры хранят информацию, представляя ее как последовательность байтов.Например, слово «привет» хранится как: 01101000 01100101 01101100 01101100 01101111 Есть несколько различных схем, используемых для представлять информацию в байтах. Схема который чаще всего используется для представления текста — буквы, знаки препинания и другие символы — называется «кодом ASCII». («ASCII» означает Американский стандартный код информации Обмен.) Это стандартный код, который используется почти все время с личными компьютеры. Используя код ASCII, каждая из букв и остальным символам присваивается один из 256 возможные байтовые шаблоны. Например, буква «h» представлена узором «01101000», как вы можете видеть, посмотрев на первый байт приведенного выше примера. В коде ASCII строчные буквы отличается от заглавных букв. Для например, в то время как буква «h» — «01101000», буква «H» — «01001000». Каждая пунктуация символ и каждую из десяти цифр (от нуля до девять) тоже имеет свой код. Теперь, сколько разных шаблонов кода мы на самом деле нужно? Ну нам нужно 26 для маленького букв и 26 для заглавных букв, десять для цифр (от 0 до 9) и 32 для знаки препинания и другие символы. Это в сумме составляет 94. Поскольку код ASCII содержит 256 возможных паттерны, многие из них не понадобятся. Фактически, только половина из 256 паттернов имеют стандартизованные значения. остальные 128 паттернов используются по-разному на разных компьютерах производители.Например, IBM использует эти узоры для изображения различных иностранных и графические символы. Взгляните на прилагаемую диаграмму, которая показывает первые 78 шаблонов кода ASCII. Обратите внимание, что каждая буква, цифра и специальный характер имеет свой неповторимый узор. (В первые 32 шаблона используются для внутренних сигналы, которыми можно пренебречь.) Если вы хотите построить узор, представляет собой определенную последовательность символов, вы можете найти его в таблице, символ персонаж.Это покажет вам, как символы будет храниться в памяти компьютера как нули и 1с. Перейти к началу страницы Код ASCII используется для представления символов. как байты нулей и единиц. Каждый персонаж занимает один байт. Таким образом, файл, состоящий из 10 000 символов, требуется 10 000 байт памяти. Эта схема подходит для хранения информации который содержит много разных персонажей.Однако это неэффективный способ хранения числа. Вот почему. Все числа состоят из десяти цифр (от 0 до 9) и, возможно, знак минус. Здесь нет нужно занять полные восемь бит для каждого цифра. Восемь бит дают вам 256 возможностей а вам нужно всего десять. Очевидно, где-то биты будут потрачены впустую. Вместо этого компьютеры могут использовать несколько других форматы для хранения чисел. Два самых распространенных схемы называются «с плавающей запятой» и «фиксированными». точка.»Плавающая точка используется для хранения числа с десятичной точкой. Фиксированная точка используется для хранения целых чисел без десятичной дроби точка. Я не буду здесь вдаваться в подробности; в важно понимать, что эти схемы требуют меньше места, чем ASCII код. Например, рассмотрим число 31589. Используя код ASCII, потребуется пять байтов, чтобы сохраните это число, по одному байту на каждую цифру. Используя формат с фиксированной точкой, весь число может храниться в двух байтах.Это значительная экономия, особенно когда вы работа с большим количеством чисел. Основное различие между кодом ASCII а в других схемах код ASCII не считает цифры числовыми характеристики. Каждая цифра — это просто символ с нет особого смысла. Фиксированная точка и коды с плавающей запятой обрабатывают цифры как представляющие числовые значения. Таким образом, когда группа цифр должна быть манипулируется как отдельные символы без числовое значение, цифры сохраняются используя код ASCII.Например, во время вход и выход, все числа сохраняются как отдельные цифры, каждая из которых занимает один байт. Когда группа цифр должна обрабатываться как число, оно хранится с использованием одного из других форматы. Например, когда компьютер арифметические, числа обычно хранятся в таким образом. Строго говоря, было бы несправедливо сказать, что каждому файлу требуется ровно один байт для каждого символ в файле. Если файл содержит числа, программа может использовать одно из числовых форматы, в которых хранятся цифры больше компактно. Программа, выполняющая множество вычислений, для пример программы для работы с электронными таблицами, будет хранить числа таким образом. Программа, которая работает с символы символически, например слово процессор, будет использовать код ASCII и сохранять каждый символ в отдельном байте. Перейти к началу страницы
Компьютеры обычно хранят тысячи и тысячи байтов информации.это важно, чтобы вы понимали, как мы описываем возможности таких систем. Например, дюймы сгруппированы в футы, ярды и мили. Как мы группируем большие объемы байтов? Чтобы ответить на этот вопрос, мы сначала должны понять кое-что о том, как компьютеры работают с числами. В повседневной жизни, мы используем систему чисел, основанную на десять цифр (от 0 до 9). Эта система называется «десятичной системой счисления». Однако компьютеры хранят информацию как серия битов, которые можно рассматривать как нули и 1с.Вы видите, что это имеет смысл использовать систему счисления, основанную на этих цифры. Собственно, так и сделано. В Система называется «двоичной системой». В пределах в двоичной системе все числа состоят только из 0 и 1. К счастью, для тех из нас, кто привык десятичная система, нули и единицы обрабатываются автоматически, и нам редко приходится беспокоиться мы сами с деталями. Однако мы делаем замечать двоичную систему странным образом. В десятичной системе круглые числа — это те которые кратны десяти.Например, 1000 и 1000000 — круглые числа. В двоичном системы, круглые числа — это те, которые кратные двум. Вот несколько из них числа. Некоторые бинарные круглые числа
Система, которую мы используем для измерения больших количество бит и байтов — это измененная форма метрической системы. В метрической системе используется префикс, означающий, что число должно быть умноженное на определенный коэффициент масштабирования. Для Например, «килограмм» означает 1000. Таким образом, километр составляет 1000 метров. С компьютерами приставки используются для того, чтобы стоять для круглых чисел из двоичной системы.Вот самые распространенные префиксы вместе с их значение. Наиболее распространенные метрические префиксы, используемые с компьютерами
|
Иногда букву «B» вообще не учитывают. Например, предположим, вы слышите, как кто-то говорит что конкретный файл имеет размер 512 КБ. Это означает что файл состоит из 512 килобайт (512×1024 байта) данных.
Перейти к началу страницы
Истинное значение бит |
Таким образом, биты и байты являются способами концептуализация компьютерной памяти как последовательности нулей и единиц.Компьютеры основаны на количестве система, которая использует только нули и единицы. Таким образом, каждый 0 и 1 в памяти можно рассматривать как один цифра в двоичной системе счисления.
Теперь вы можете понять истинное значение слово «бит». Это сокращение от «двоичный цифра. «Бит так важен, потому что он описывает точку, в которой программное обеспечение (инструкция) соответствует оборудованию (технике). Задача программного обеспечения — управлять 0 и 1, которые аппаратное обеспечение хранит как «выключено». и «вкл» сигналы.
Помните, биты и байты кажутся сложными когда вы к ним не привыкли. Сегодняшний дети узнают о двоичной системе и Само собой разумеется, код ASCII. Итак, когда ваш мальчик забирается к вам на колени и спрашивает: «Сделай ты помнишь, до того, как появились биты? «Вы можете ответь: «Ты что, шутишь? Когда я был молод, все, что у нас было, это бумага, карандаши и десятичная система … »
Перейти к началу страницы
© Все права защищены 2021 г., Harley Hahn
Полная информация о товарных знаках и авторских правах
Сколько бит? | Сетевой мир
Как обсуждалось в прошлый раз, одним из основных требований к кодовому набору, который будет полезен в глобальной сети, является то, что отправитель и получатель должны согласовывать значение каждой комбинации единиц и нулей.Например, 2-битный кодовый набор может иметь только четыре дискретных значения: по одному для каждой комбинации 00, 01, 10 и 11. Перейдите к трем битам, и вы получите восемь кодов; четыре бита дают 16, а пять разрядов дают 32.
Первым широко принятым кодовым набором был код Бодо, разработанный более 100 лет назад. При наличии пяти битов и 32 кодовых комбинаций было достаточно доступных битовых комбинаций, чтобы иметь уникальный код для каждой из 26 букв алфавита.
Однако 26 букв плюс 10 цифр от 0 до 9 превышают 32 комбинации.Вместо того, чтобы переходить к дополнительному биту, используются два уникальных кода, чтобы сигнализировать о сдвиге между «буквенной» интерпретацией кода и интерпретацией «цифр». Поскольку и «буквы», и «цифры», как правило, объединяются в группы, это отлично подходит для простых приложений.
Однако есть одна большая проблема. Имея всего пять битов, невозможно различить прописные буквы и строчные буквы. Переход к 6-битному коду с 64 комбинациями по-прежнему будет минимальным, потому что потребуется 62 комбинации для букв и цифр, а для знаков препинания останется только два кода.
Следовательно, минимальный кодовый набор должен состоять из семи битов, и это именно то, что использует Американский стандартный код для обмена информацией (ASCII). Этот код, который стал де-факто стандартом для передачи данных, имеет 128 комбинаций с уникальным кодом для каждой буквы как в верхнем, так и в нижнем регистре. На самом деле двоичный код для каждой прописной и строчной буквы одинаков, за исключением одного бита, который иногда называют битом «сдвига».
Подробнее по этой теме
SOS @morse.codeИнформационный бюллетень Network World Convergence, 03/03/04
IETF обдумывает интернационализированную электронную почтуИнформационный бюллетень Network World ISP, 24.11.03
Отраслевая группа по продвижению интернационализированных доменных именNetwork World ISP News Report Newsletter, 12 / 01/03
Генератор изображений ASCIINetwork World
Вопросы и ответы: Данн обсуждает возвращение NortelNetwork World, 03/08/04
Присоединяйтесь к сообществам Network World на Facebook и LinkedIn, чтобы комментировать самые важные темы.Copyright © 2004 IDG Communications, Inc.
битов и байтов
битов и байтовМы хотим говорить с компьютерами на английском или на каком-то естественном языке, но есть реально , только ток внутри них течет.
Уровни абстракции
Электрические токи
0 и 1
Ток включения равен 1, а ток выключения равен 0
Машина Lanaguage
Номера для команд и данных
Язык ассемблера
Допускаются некоторые символы, e.г., Мов Х, 3456
Обращение непосредственно к ячейкам памяти, регистрам, устройствам и т. Д.
Язык высокого уровня (Java, C ++, Python)
Символьный и логический, с небольшим количеством прямых ссылок на адреса, регистры или другие аппаратные компоненты или вообще без них
Естественный язык, например, английский
Бит в Байт в целые числа в строки
Одиночный 0 или 1 — это двоичная цифра или бит .
Конечно, мы хотим представлять числа, слова и другие данные, для которых требуется несколько битов.
Чтобы представить положительное десятичное целое число, мы просто присваиваем ( цифра * 2 i ) на i-ю цифру справа.
Итак, 1010: 8 + 0 + 2 + 0 = 10
155 в десятичной системе:
Мы говорим, что 8 бит — это байт . Обычно представлены целые числа (целые числа) с 4 байтами или 32 битами.
Раньше символы (например, буквы, цифры) представлялись одним байтом (8 бит), причем каждому символу соответствует число от 0 до 255.В Таблица ASCII обеспечивает отображение. Вот он-лайн двоично-десятичный преобразователь .
Чтобы не ориентироваться на английский язык, теперь есть Unicode, который может представлять много разных языков и требует 2 байта (16 бит) для представления.
Рабочий лист1. Рассмотрим следующие шестнадцать бит:
0000 0000 0100 1101
а. Каково значение числа, если оно представляет собой положительное целое число (целое номер)?
г.Какой символ он представляет? Вот Таблица ASCII
2. Закодируйте следующие десятичные числа в двоичном формате: 24 1698 43
3. Если для кодирования положительных целых чисел используются 16 бит, то какое наибольшее число, которое можно представить?
4. А как насчет отрицательных чисел? Как вы думаете, как они представлены?
Использование битов для представления текста
Использование битов для представления текстаПредыдущая страница Следующая Страница Эта глава Следующая глава
В последних разделах были представлены некоторые инструменты и идеи о том, сколько бит необходимы для представления информации внутри компьютера и того, как числа и представлены и вычислены логические формулы.
Если у вас западный алфавит с 26 строчными буквами и 26 заглавными буквами символов, 10 цифр и 32 специальных символа, в которых каждый символ можно предположить, что одинаково вероятно, сколько бит вам нужно представляют персонажей? Таким образом ; это 6.5546 потолок 7 бит. Обычно добавляется дополнительный бит, чтобы получилось 8 бит. Это сделано потому, что 8 — это степень двойки, и, как вы, вероятно, уже начинает чувствовать, что вещи организованы в степени двойки удобно.
8 битов, составляющих символ, часто называют байтом. Байт также можно рассматривать как небольшое целое число без знака, со значениями от 0 до 255. Используя эту идею, можно присвоить символ эквивалентному небольшому целому числу стоимость. Символ в целочисленной таблице, которая характеризует машину, называется ее набор символов. В основных компьютерах IBM используется набор символов EBCDIC. EBCDIC обычно произносится как `epsidick ‘и означает Extended Binary. Кодированный десятичный код обмена.Восточные языки требуют тысячи иероглифов, и у них есть свои стандарты с 16-битными символами.
Большинство маленьких компьютеров и многие большие, не принадлежащие IBM, используют
Набор символов ASCII, включая Macintosh, IBM PC, рабочие станции Sun,
и многие другие.
ASCII обычно произносится как «as-ski», что означает Американский стандартный код.
для обмена информацией.
В таблице ниже представлена стандартная карта 7-битного набора символов ASCII.В нем перечислены восьмеричные, десятичные и шестнадцатеричные эквиваленты для каждого символа.
Обратите внимание, что все значения символов одинаковы для всех таблиц, только
представление числовой позиции меняется.
Эти три таблицы приведены только для облегчения доступа из некоторых заранее определенных
числовая база.
Персонажи наследуют свойства своего связанного числа в код символа.Так что в зависимости от положения персонажей числовые отношения меняются. И в нижнем, и в верхнем регистре буква позже в алфавит больше. Итак, `n ‘<` p' и `N '<` P'. Числовые цифры перечислены в порядке возрастания, а разница между любыми двумя цифрами - разница в значении цифр. Итак, если $ x $ - это символ, представляющий собой числовую цифру, то $ x ~ - $ `0 ' - целочисленное значение, представляющее значение $ x $.
В ASCII маленькие буквы всегда больше заглавных.То есть можно сказать, что `Z ‘<` a'. Однако это отношение не является постоянным для всех кодов символов. В EBCDIC алфавит поддерживает описанные числовые отношения выше, но он не компактен. Внутри алфавита размещаются специальные символы. Не пишите программы, которые зависят от ценности различий. между буквенными символами. Одно место, где это соглашение обычно нарушается в шестнадцатеричных процедурах ввода / вывода. Стандартные шестнадцатеричные буквенные цифры от A до F в обоих наборах символов компактны.Это удобно, если вы хотите написать программу для ввода шестнадцатеричных чисел. и хотите, чтобы он работал на самых разных компьютерах.
Предыдущая страница Следующая Страница Эта глава Следующая глава
Copyright 1996 Роберт Узгалис. Все права защищены.
контакт: [email protected]
бит, байты и представление информации — цифровой мир 101
У компьютера есть три основных ключа к отображению информации.Первая идея — компьютер — это цифровой процессор. Это означает, что он накапливает и обрабатывает информацию, которая представляет собой отдельную часть, имеющую различные значения, в основном только числа. Более того, вторая идея заключается в том, что компьютеры отображают информацию в битах. Что касается этого, третья идея — это класс битов, передающих большие вещи, такие как слова, имена, буквы и числа.
Ниже приведены различные интересные ключи, касающиеся представления информации.
- Аналог — это концепция ценности, которая эффективно и непрерывно изменяется по мере корректировки чего-то еще.Большинство вещей, которые мы делаем в реальном мире, связаны с идеей аналога.
- В цифровой системе информация представлена в числовых значениях, а в двоичной — в количестве двух значений. Бит — это сокращенная версия двоичных цифр.
- Степень двойки и степень десяти важны в цифровом мире, когда дело касается компьютерной информационной системы.
- Биты могут отображать числовое значение, если цифры подсвечиваются в обычном аспекте разряда, но с использованием основания 2 вместо основания 10.После десяти используются больше цифр с двумя десятичными знаками, 000-999.
- ASCII — это 7-битный набор символов, содержащий 128 значений.
байтов
В большинстве современных компьютеров первичная единица обработки и организации памяти составляет 8 бит и обслуживается как единица, называемая байтом. Один отдельный байт может кодировать 256 различных значений, которые могут иметь целочисленное значение от 0 до 255 или отдельный символ в ASCII. Кроме того, часто байт является частью более крупного класса, который может представлять что-то обширное и сложное.Не говоря уже о том, что байты также могут отображаться в символах Unicode.