Основная идея такая: 0 и 1 - это просто договоренность о значении. Физически в процессоре или памяти это "есть напряжение" или "нет напряжения". Ничего более.
Теперь по твоим вопросам.
Буква "А": Люди договорились, что каждой букве соответствует число. Эта договоренность называется ASCII (а потом Unicode). Буква "A" латинская = число 65. В двоичном виде 65 это 01000001. Всё. Компьютер хранит 01000001 и знает, что это буква потому что контекст подсказывает: вот здесь у нас текст, значит интерпретируй как букву.
Цветная фотография: Любой цвет можно описать тремя числами - сколько в нем красного, зеленого и синего (RGB). Каждое число от 0 до 255. Чистый красный = (255, 0, 0). Белый = (255, 255, 255). Фотография - это просто миллионы таких точек (пикселей), и каждая точка - три числа. Три числа по 8 бит = 24 бита на пиксель. Фото 4000x3000 пикселей = 4000 3000 24 бит данных. Вот откуда размер файла.
Видео: Это последовательность фотографий (кадров), обычно 24-60 в секунду. Плюс звук отдельно. Сырое видео весит огромно, поэтому применяют сжатие - алгоритм запоминает не каждый кадр целиком, а только то, что изменилось между кадрами. Это и есть кодеки (H.264, H.265 и т.д.).
Главный принцип: любые данные - это числа. Числа - это двоичный код. Контекст (формат файла, программа) говорит как эти числа интерпретировать.
Про RGB вообще не думал что так работает, теперь понял. Спасибо!