Почему для кодирования информации в компьютере используются только два символа 0 и 1

Обновлено: 04.07.2024

Один бит может иметь 2 возможных состояния. 2 1 =2. 0 или 1.
Два бита могут иметь 4 возможных состояния. 2 2 =4. 00,01,10,11. (т.е. 0-3)
Четыре бита могут иметь 16 возможных состояний. 2 4 =16. 0000,0001,0010,0011 и т. д. (т.е. 0-15)
Семь битов могут иметь 128 возможных состояний. 2 7 =128. 0000000,0000001,0000010 и т. д. (т.е. 0-127).
Восемь битов могут иметь 256 возможных состояний. 2 8 =256. 00000000,00000001,00000010 и т. д. (например, 0–255).

Восемь бит называются байтом. Однобайтовые наборы символов могут содержать 256 символов. Однако текущим стандартом является Unicode, который использует два байта для представления всех символов во всех системах письма в мире в одном наборе.

Общий код, используемый для символов с диакритическими знаками, — Quoted-Printable. Любые расширенные символы (больше 127) кодируются строкой из трех символов. Например, é = E9. 8BIT (по сути, несжатые символьные данные) также является допустимым кодом MIME и сегодня является наиболее распространенным способом отправки символов с диакритическими знаками.

Чтобы код работал на двух разных машинах с разными операционными системами и разными встроенными наборами символов, мы все должны согласовать стандартные наборы символов, в которые мы будем переводить. Международная организация по стандартизации (ISO) установила такие стандарты. Например, стандартный набор символов для западноевропейских языков — ISO-LATIN-I (или ISO-8859-1). Но пока компьютер знает, какой набор символов используется, его можно запрограммировать на перевод и отображение этих символов, независимо от того, какой у компьютера собственный набор символов. é — это 130-й символ в ISO-LATIN-I.

Программа электронной почты, совместимая с MIME, будет использовать заголовки электронной почты, чтобы отслеживать, какой набор символов и схема кодирования применяются к каждому сообщению электронной почты. Веб-браузер сделает то же самое. Это позволяет программе преобразовывать и знать, как отображать символы на любом заданном компьютере, поэтому вся система кодирования прозрачна (пользователь не замечает) для пользователя. Для MIME Quoted-Printable на западноевропейских языках эти заголовки могут выглядеть так:

    X-Mailer: QUALCOMM Windows Eudora версии 5.1
    Mime-версия: 1.0
    Тип контента: текстовый/обычный; charset=iso-8859-1
    Content-transfer-encoding: quoted-printable

И эти же заголовки MIME также используются на веб-страницах, чтобы веб-браузер, такой как Internet Explorer, Chrome или Firefox, знал, как отображать каждую страницу, независимо от того, где она была создана и где находится. просмотрено. Пока компьютер знает, какой набор символов представлен, он знает, какие символы отображать.

Клавиатуры

Вы также должны в первую очередь ввести символы в компьютер. Windows и Mac уже давно позволяют делать это с помощью сочетаний клавиш. Лучший способ ввода символов в Windows — это выбрать раскладку клавиатуры, которая включает символы, которые вы хотите ввести. Для ввода западноевропейских языков на американской клавиатуре самым безопасным и простым в использовании вариантом, если вы уже знаете, как печатать на американской клавиатуре, является международная клавиатура США. В Windows 7, 8, 10 найдите вкладку «Клавиатуры и языки» на панели управления «Регион и язык», чтобы изменить или добавить клавиатуру. Хотя многие программы могут иметь встроенные сочетания клавиш, преимущество использования клавиатуры в операционной системе (Windows, Mac) заключается в том, что она будет работать для всех программ.

Интерактивную справку по клавиатуре см.:

Справка по клавиатуре

Неанглийские клавиатуры Windows 7 ; Общие для Windows и Mac; Windows 10

Учебник по проблемам с кодами символов

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

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

двоичный код, код, используемый в цифровых компьютерах, основанный на двоичной системе счисления, в которой есть только два возможных состояния, выключено и включено, обычно обозначаемое 0 и 1. В то время как в десятичной системе, использующей 10 цифр, каждое позиция цифры представляет степень числа 10 (100, 1000 и т. д.), в двоичной системе каждая позиция цифры представляет степень числа 2 (4, 8, 16 и т. д.). Двоичный кодовый сигнал представляет собой серию электрических импульсов, которые представляют собой числа, символы и операции, которые необходимо выполнить. Устройство, называемое часами, посылает регулярные импульсы, а такие компоненты, как транзисторы, включаются (1) или выключаются (0), чтобы пропускать или блокировать импульсы. В двоичном коде каждое десятичное число (0–9) представлено набором из четырех двоичных цифр или битов. Четыре основные арифметические операции (сложение, вычитание, умножение и деление) могут быть сведены к комбинациям основных булевых алгебраических операций над двоичными числами.(См. в таблице ниже показано, как десятичные числа от 0 до 10 представлены в двоичном формате.)

Десятичные числа, представленные двоичными цифрами

Редакторы Британской энциклопедии Эта статья была недавно отредактирована и обновлена ​​Адамом Августином.

Целевая аудитория: авторы контента, пользователи и все, кто не знает, что такое кодировка символов, и хочет получить краткую информацию о том, как она на них влияет.

Вопрос

Что такое кодировка символов и зачем мне это?

Ответить

Во-первых, какое мне дело?

Если вы используете какой-либо другой текст, кроме самого простого английского текста, люди могут не прочитать созданный вами контент, пока вы не скажете, какую кодировку символов вы использовали.

Например, вы можете сделать так, чтобы текст выглядел так:

но на самом деле это может выглядеть так:

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

Так что же такое кодировка символов?

Слова и предложения в тексте создаются из файлов . Примеры символов включают латинскую букву á, китайскую иероглифику 請 или иероглиф деванагари ह .

Возможно, вы не сможете увидеть некоторые символы на этой странице, потому что у вас нет необходимых шрифтов. Если вы нажмете на то место, где вы ожидали увидеть символ, вы перейдете к графической версии. Эта страница закодирована в UTF-8.

Символы, необходимые для определенной цели, группируются в (также называемые ). (Для однозначного обращения к символам каждый символ связан с числом, называемым .)

Символы хранятся в компьютере как один или несколько .

В принципе, вы можете визуализировать это, предположив, что все символы хранятся в компьютерах с использованием специального кода, подобного шифрам, используемым в шпионаже. A предоставляет ключ для разблокировки (т.е. взлома) кода. Это набор сопоставлений между байтами в компьютере и символами в наборе символов. Без ключа данные выглядят как мусор.

Этот вводящий в заблуждение термин часто используется для обозначения того, что на самом деле является кодировкой символов. Вы должны знать об этом использовании, но по возможности придерживайтесь термина кодировки символов.

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

К сожалению, существует множество различных наборов символов и кодировок, т.е. множество различных способов отображения между байтами, кодовыми точками и символами. В разделе «Дополнительная информация» для тех, кто интересуется, немного больше подробностей.

Однако в большинстве случаев вам не нужно знать подробности. Вам просто нужно быть уверенным, что вы прислушаетесь к советам в разделе Как это на меня повлияет? ниже.

Как в это вписываются шрифты?

A — это набор определений глифов, т.е. определения фигур, используемых для отображения символов.

После того как ваш браузер или приложение определит, с какими символами он имеет дело, он будет искать в шрифте глифы, которые можно использовать для отображения или печати этих символов. (Конечно, если информация о кодировке была неверной, она будет искать глифы для неправильных символов.)

Заданный шрифт обычно охватывает один набор символов или, в случае большого набора символов, такого как Unicode, только подмножество всех символов в наборе. Если в вашем шрифте нет глифа для определенного символа, некоторые браузеры или программные приложения будут искать отсутствующие глифы в других шрифтах в вашей системе (это будет означать, что глиф будет отличаться от окружающего текста, например, примечание о выкупе). ). В противном случае вы обычно увидите квадратную рамку, вопросительный знак или какой-либо другой символ. Например:

Как это влияет на меня?

Как автор или разработчик контента, вы всегда должны выбирать кодировку символов UTF-8 для своего контента или данных. Эта кодировка Unicode является хорошим выбором, поскольку вы можете использовать кодировку одного символа для обработки любого символа, который вам может понадобиться. Это сильно упрощает дело. Использование Unicode во всей системе также избавляет от необходимости отслеживать и преобразовывать различные кодировки символов.

Авторам контента необходимо выяснить, как объявить кодировку символов, используемую для формата документа, с которым они работают.

Обратите внимание, что простое объявление другой кодировки на вашей странице не изменит байты; вам также нужно сохранить текст в этой кодировке.

Разработчикам необходимо убедиться, что различные части системы могут взаимодействовать друг с другом, понимать, какие кодировки символов используются, и поддерживать все необходимые кодировки и символы. (В идеале вы должны использовать кодировку UTF-8 везде и избавитесь от этой проблемы.)

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

Дополнительная информация

В этом разделе содержится небольшая дополнительная информация о сопоставлении между байтами, кодовыми точками и символами для тех, кому это интересно. Не стесняйтесь просто перейти к разделу «Дополнительная литература».

Обратите внимание, что числа кодовых точек обычно выражаются в шестнадцатеричной системе счисления, т.е. основание 16. Например, 233 в шестнадцатеричной форме равно E9. Значения кодовой точки Unicode обычно записываются в форме U+00E9.

В наборе кодированных символов ISO 8859-1 (также известном как Latin1) значение десятичного кода для буквы é равно 233. Однако в ISO 8859-5 та же самая кодовая точка представляет кириллический символ щ .

Эти наборы символов содержат менее 256 символов и напрямую сопоставляют кодовые точки со значениями байтов, поэтому кодовая точка со значением 233 представлена ​​одним байтом со значением 233. Обратите внимание, что только контекст определяет, будет ли этот байт представляет либо é, либо sch .

Есть и другие способы обработки символов из ряда сценариев. Например, с помощью набора символов Unicode вы можете представлять оба символа в одном наборе. На самом деле Unicode содержит в одном наборе, вероятно, все символы, которые вам когда-либо понадобятся. В то время как буква é по-прежнему представлена ​​кодовой точкой 233, кириллический символ щ теперь имеет кодовую точку 1097.

В наши дни байты обычно состоят из 8 бит. Существует только 2 8 (т.е. 256) уникальных способов объединения 8 битов.

С другой стороны, 1097 — слишком большое число, чтобы его можно было представить одним байтом*. Итак, если вы используете кодировку символов для текста Unicode, называемую UTF-8, щ будет представлена ​​двумя байтами. Однако значение кодовой точки получается не просто из значения двух соединенных вместе байтов — требуется более сложное декодирование.

Другие символы Юникода соответствуют одному, трем или четырем байтам в кодировке UTF-8.

Кроме того, обратите внимание, что буква é также представлена ​​двумя байтами в UTF-8, а не одним байтом, который используется в ISO 8859-1. (Только символы ASCII кодируются одним байтом в UTF-8.)

UTF-8 — это наиболее широко используемый способ представления текста Unicode на веб-страницах, и вы всегда должны использовать UTF-8 при создании своих веб-страниц и баз данных. Но, в принципе, UTF-8 — это лишь один из возможных способов кодировки символов Юникода. Другими словами, одна кодовая точка в наборе символов Unicode может фактически отображаться в различные последовательности байтов, в зависимости от того, какая кодировка использовалась для документа. Кодовые точки Unicode могут быть сопоставлены с байтами с использованием любой из кодировок, называемых UTF-8, UTF-16 или UTF-32. Символ деванагари क с кодовой точкой 2325 (что равно 915 в шестнадцатеричной записи) будет представлен двумя байтами при использовании кодировки UTF-16 (09 15), тремя байтами при использовании UTF-8 (E0 A4 95) или четырьмя байтами. байт с кодировкой UTF-32 (00 00 09 15).

Могут быть дополнительные сложности помимо описанных в этом разделе (например, порядок байтов и escape-последовательности), но описанные здесь подробности показывают, почему важно, чтобы приложение, с которым вы работаете, знало, какая кодировка символов подходит для ваших данных. , и знает, как обращаться с этой кодировкой.

Дополнительная литература

Начинаете? Введение в наборы символов и кодировки — указывает на другие документы W3C, связанные с наборами символов и кодировками

Учебник, Работа с кодировками символов в HTML и CSS. Советы по выбору кодировки, ее объявлению и другим темам, связанным с HTML и CSS.

Настройка кодировки в веб-приложениях для разработки — как заставить ваш редактор сохранять в другой кодировке список сред редактирования.

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

Наши редакторы рассмотрят то, что вы отправили, и решат, нужно ли пересматривать статью.

двоичный код, код, используемый в цифровых компьютерах, основанный на двоичной системе счисления, в которой есть только два возможных состояния, выключено и включено, обычно обозначаемое 0 и 1. В то время как в десятичной системе, использующей 10 цифр, каждое позиция цифры представляет степень числа 10 (100, 1000 и т. д.), в двоичной системе каждая позиция цифры представляет степень числа 2 (4, 8, 16 и т. д.). Двоичный кодовый сигнал представляет собой серию электрических импульсов, которые представляют собой числа, символы и операции, которые необходимо выполнить. Устройство, называемое часами, посылает регулярные импульсы, а такие компоненты, как транзисторы, включаются (1) или выключаются (0), чтобы пропускать или блокировать импульсы. В двоичном коде каждое десятичное число (0–9) представлено набором из четырех двоичных цифр или битов. Четыре основные арифметические операции (сложение, вычитание, умножение и деление) могут быть сведены к комбинациям основных булевых алгебраических операций над двоичными числами. (См. в таблице ниже показано, как десятичные числа от 0 до 10 представлены в двоичном формате.)

десятичное двоичное преобразование
0 0 0 ( 2 0 )
1 1 1 ( 2 0 )
2 10 1 ( 2 1 ) + 0 ( 2 0 )
3 11 1 ( 2 1 ) + 1 ( 2 0 )
4 100 1 ( 2 2 ) + 0 ( 2 1 ) + 0 ( 2 0 )
5 101 1 ( 2 2 ) + 0 ( 2 1 ) + 1 ( 2 0 )
6 110 1 (2 2) + 1 (2 1) + 0 (2 0)
7 111 1 (2 2) + 1 (2 1) + 1 (2 0)
8 1000 1 ( 2 3 ) + 0 ( 2 2 ) + 0 ( 2 1 ) + 0 ( 2 0 )
9 1001 1 ( 2 3 ) + 0 ( 2 2 ) + 0 ( 2 1 ) + 1 ( 2 0 )
10 1010 1 ( 2 3 ) + 0 ( 2 2 ) + 1 ( 2 1 ) + 0 ( 2 0 )
Десятичные числа, представленные двоичными цифрами

Редакторы Британской энциклопедии Эта статья была недавно отредактирована и обновлена ​​Адамом Августином.

Читайте также:

десятичное двоичное преобразование
0 0 0 ( 2 0 )
1 1 1 ( 2 0 )
2 10 1 ( 2 1 ) + 0 ( 2 0 )
3 11 1 ( 2 1 ) + 1 ( 2 0 )
4 100 1 ( 2 2 ) + 0 ( 2 1 ) + 0 ( 2 0 )
5 101 1 ( 2 2 ) + 0 ( 2 1 ) + 1 ( 2 0 )
6 110 1 (2 2) + 1 (2 1) + 0 (2 0)
7 111 1 (2 2) + 1 (2 1) + 1 (2 0)
8 1000 1 ( 2 3 ) + 0 ( 2 2 ) + 0 ( 2 1 ) + 0 ( 2 0 )
9 1001 1 ( 2 3 ) + 0 ( 2 2 ) + 0 ( 2 1 ) + 1 ( 2 0 )
10 1010 1 ( 2 3 ) + 0 ( 2 2 ) + 1 ( 2 1 ) + 0 ( 2 0 )