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 полезно для обработки текста во многих технических приложениях.