Как ASCII преобразует символ из символа в двоичную форму и наоборот? - PullRequest
0 голосов
/ 19 сентября 2019

Предположим, кто-то хранит A в памяти.Как я понимаю, он будет храниться как 01000001 (8 битов подряд в байте памяти).Итак, где происходит переход ASCII?Является ли это какая-то программа, которая принимает «А», проверяет свой тип данных и сохраняет в двоичном виде, а затем та же самая программа извлекает двоичное число и снова смотрит на диаграмму ASCII и преобразует в A согласно типу данных.

Ответы [ 3 ]

0 голосов
/ 19 сентября 2019

А - 01000001.Конверсия не производится никогда.Если вы напечатаете его с помощью printf, он не будет выполнять какое-либо преобразование.

Он просто вызовет write (2), который сам напишет 01000001 в стандартный вывод.Программа, которая превращает эти данные в пиксели на экране, является вашим эмулятором терминала или чем-то, что отображает текст.Программа AC не имеет представления о том, что такое ascii, все, что она знает, это то, что длина символа составляет 1 байт.

0 голосов
/ 20 сентября 2019

Это происходит на устройстве вывода.Устройство вывода получает эту последовательность битов, и на консоли выводится A, или выводится на лист бумаги принтера ... Идея состоит в том, что всегда вы отправляете эту последовательность на принтер, A будетнапечатано на бумаге.Больше нигде нет шаблона, связанного с буквой A.

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

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

0 голосов
/ 19 сентября 2019

Помните, что символьные представления действительно полезны только для пользователей и программистов;Что касается системы, то это серия из 1 и 0.

Единственный случай истинного перевода ASCII происходит, когда сохраненное значение либо назначается / сравнивается программно, например, char a = 'A';или отображается.В последнем случае будет выполняться поиск, который обеспечит визуализацию для конкретной среды, например, растровое изображение пикселя для отображения символьной ячейки, или, возможно, статическое изображение для каждого символа в графической системе, или сохраненный / фиксированный набор символов на печатной копии.устройство, такое как принтер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...