JavaRush /Курсы /Harvard CS50 /ASCII (дополнительные материалы)

ASCII (дополнительные материалы)

Harvard CS50
0 уровень , 4 лекция
Открыта
ASCII

Мы выяснили, что компьютер понимает только нулики и единички, а его память можно представить в виде ооочень длинной строки из лампочек с выключателями. Как представить цифры в компьютере мы уже поняли. А что делать с остальной информацией? Буквами, картинками?

Скажем, в английском алфавите 26 букв. Теоретически мы можем представить буквы цифрами от 0 до 25, только в двоичной системе. Возникает другой вопрос: а как понять, перед нами строчная буква или прописная? А знаки препинания? Что делать со знаками-«невидимками», вроде пробела? Словом, нужна система кодирования, Кэп!

В 1960-х годах существовало множество разных схем, кодирующих символы. Отсутствие единообразия довольно быстро переросло в серьёзную проблему, и уже в 1963 году Американский институт стандартизации ANSI разработал и ввел в обиход схему кодировки ASCII (American Standard Code for Information Interchange). 

ASCII — это таблица в которой символы сопоставлены числовым кодам. Каждый символ ASCII состоит из семи разрядов или семи бит, каждый из которых может принимать значение 0 или 1. В 7 бит можно поместить числа от 0 до 127 в двоичной системе, то есть у нас есть 128 чисел для кодирования символов. Казалось бы, достаточно для кодировки письменной английской речи? 

Давайте прикинем: 

a-z — 26 вариантов 
A-Z — еще 26
0-9 — 10 
,;:~& и прочие знаки пунктуации — 32
Ещё нам нужен пробел. 
Итого — 95 символов.

Оставшиеся 33 (128 - 95) вакантных варианта используют для так называемых управляющих символов, вроде перевода строки или возврата каретки.

ASCII (дополнительные материалы) - 1

Важно различать символы 0-9 и числовые значения 0-9.
Символы 0-9 представлены значениями ASCII 48-57.
Интересно отметить, что крайние правые четыре бита этих значений ASCII представляют собой двоичные представления числовых значений 0-9. Это несколько упрощает способ преобразования между значениями ASCII и их фактическими числовыми значениями.

Комментарии (37)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Vadim Kisil Уровень 3
11 мая 2025

Очень интересно, но ничего не понятно)
Sergey Frolov (Sergey F.) Уровень 2
11 марта 2024
Hi! 72 73 33 1001000 1001001 100001
Aleksey63 Уровень 35
9 ноября 2023
Если посчитать, то 26+26+10+32 = 96. А если прикинуть, то приблизительно 95.
Иван Уровень 2
24 апреля 2023
Символ цифры - это как буква алфавита. А число - это и есть число. омпьютеру надо понимать что ему дли символ как букву, который не имеет никакого значения. Или число, которое имеет некоторое значение и им можно оперировать как числом. Другими словами когда в сочинении ты пишешь цифровой символ ты его читаешь как слово. А когда на математике ты пишешь число, ты его воспринимаешь как некоторое значение: типа количество яблок и т.д.
OksanaS Уровень 24
20 сентября 2022
что-то я не поняла в чем разница числа и символа (((
Ahmed Уровень 2 Expert
27 октября 2022
чтото я тоже не понял((
27 февраля 2023
Условно, компьютер может воспринимать цифру как число (и например, провести с ней математическую операцию), а может как символ (и например, обращаться к ней, как к названию переменной или чего нибудь ещё.
777 Уровень 16
15 июля 2022
а если мне надо число 70 напр. как тогда?? не понимаю
ruslan Уровень 2
25 июля 2022
есть разница между числом 70 и символом 70. число 70 - 01000110 символ 70 - 001101111 и 00110000 или 55 и 48
Ranner Bakhman Уровень 19
1 августа 2023
ALI I Уровень 2
20 мая 2022
програмистом надо наверно все таки родится.смотрю и ничего непонимаю.а так хочется писать код(с математикой плохо)
Akylyar Уровень 3
27 августа 2022
Есть такой лозунг: "Программистами не рождаются!".
27 марта 2022
все понятно
Ivan Fiodorov Уровень 4
25 февраля 2022
и тут меня осенило, что значит alt+0151 это символ "—"... это его число. гениально и просто, и такой код для каждого из возможных вводимых символов.
Egor Egorov Уровень 1
13 июля 2021
Можно простыми словами следующее пояснить, плиз😮: "Символы 0-9 представлены значениями ASCII 48-57. Интересно отметить, что крайние правые четыре бита этих значений ASCII представляют собой двоичные представления числовых значений 0-9".
Nastya Khvorostova Уровень 2
18 июля 2021
ну смотрите грубо сказать клавиши цифр(именно те, что сверху) имеют коды 48-57 это потом переводится в бинарную систему(110000-111001) - заметим, что все это еще коды клавиш а теперь присмотримся к ним 110000 - это код клавиши 0. Значение этой клавиши - цифра 0. если присмотреться, то заметим, что 0000(это двоичный код нуля) - это последние 4 цифры двоичного кода клавиши если посидеть посмотреть, то с остальными клавишами можно вывести ту же закономерность