ASCII таблица и символьная презентация

Мы узнаем в классе об таблице ascii, и что каждый символ из 128 символов имеет уникальное число от 0 до 128, представляющее его. например, "а" равно 97 (в двоичном коде 97 это 1100001). "%" - 37 (а в двоичном 37 - 0100101). (я понимаю, что для фиксированной длины 7 мы должны разрешить двоичное число начинаться с 0)

но потом я столкнулся с борьбой. если 97 представляет "а", то что представляет строку "97"? что представляет собой целое число 97?

большое спасибо

4 ответа

Решение

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

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

Итак, учитывая байт 97 (десятичный), скажем, из 1-байтового файла или по адресу памяти, каков тип и значение? Единственный способ узнать это через некое общее понимание: соглашение, декларация, соглашение, спецификация, карта данных и т. Д. Другими словами, общение. Полная связь состоит из данных и сопровождающих или отдельных метаданных, которые указывают, как интерпретировать байты.

97₁₀ = 61₁₆ = 01100001₂ может быть:

  • 8-разрядное целое число без знака: 97₁₀
  • В качестве 8-разрядного двоичного числа с дополнением со знаком: 97₁₀
  • В качестве кодовой единицы UTF-8: случается, что все кодовые единицы для кодовой точки Unicode: 'a' (U + 0061) 'LATIN SMALL LETTER A'
  • Как кодовая единица ASCII: (все кодовые точки ASCII занимают одну 8-битную кодовую единицу): 'a'
  • В качестве кодовой единицы ISO 8859-1: (все кодовые точки ISO 8859-1 принимают одну 8-битную кодовую единицу): "a"
  • Все, что можно упаковать в 8 бит.

Итак, перефразируя ваш вопрос следующим образом: Какая разница 97, представляющая "а", и 97, представляющая целое число 97? Ответ в метаданных, а не в байтах.

ASCII-значение возвращается только тогда, когда мы используем char или тип любой unsigned int значение для char, Итак, по вашему вопросу, 97 может быть представлено int тип данных. Но если вы хотите 97 символов, чем вы должны написать следующий код:

char c[2], i;
c[0]=57;
c[1]=55;
for (i=0; i<2; i++) printf("%c", c[i]);

Ну, строка "97" состоит из двух символов, поэтому потребуется два кода ASCII, один для "9" и другой для "7".

Таким образом, ответ 57 и 55

Десятичные значения ASCII для символов верхнего регистра от A до Z последовательно варьируются от 65 до 90. Чтобы узнать более подробную информацию и просмотреть полную таблицу кодов ASCII для всех букв, цифр и символов как верхнего, так и нижнего регистра, я настоятельно рекомендую ознакомиться с этой полезной статьей ascii . значение от А до Z.

Он предоставляет полную справочную таблицу ASCII и объясняет историю и использование кодировки символов ASCII в вычислениях и программировании. Знание точных десятичных значений ASCII для AZ и az полезно для обработки текста во многих технических приложениях.

Другие вопросы по тегам