Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиПоискОблакоComboВсе проекты

Почему бинарник при открытии через блокнот не показывает еденички и нули?

Добрый день Просветленный (35282), закрыт 1 месяц назад
А показывает полноценный текст.
Дополнен 1 месяц назад
Ведь если я код программы скомпилировал - то есть перевел в машинный язык - то самого кода ведь (на языке высокоуровнего языка программирования) в этом скомпилированном файле быть уже не должно? А он почему то есть (если этот бинарник через блокнот открыть). Что за хрень? Как так? Не пойму.
Дополнен 1 месяц назад
По моему я понял в чем дело. Походу тот файл что я считал бинарником - вовсе не бинарник. Всем спасибо.
Лучший ответ
Eternally Against Искусственный Интеллект (225379) 1 месяц назад
Потому что блокнот открывает файл и пытается его декодировать, он представляет нули и единицы в виде букв, цифр, символов в соответствии с определенной таблицей кодирования (UTF-8, например).
"По моему я понял в чем дело. Походу тот файл что я считал бинарником - вовсе не бинарник. Всем спасибо." - все файлы бинарные и состоят только из нулей и единиц.
Остальные ответы
lkjhiu mnb,ermtn Ученик (120) 1 месяц назад
Потому что блокнот на это не рассчитан.
Добрый деньПросветленный (35282) 1 месяц назад
Так если я код программы скомпелировал - тоесть перевел в машинный язык - то самого кода ведь (на языке высокоуровнего языка програмирования) в этом скомпелированном файле быть уже не должно? А оо почемуто есть (если этот бинарник через блокнот открыть). Что за хрень? Как так? Непойму.
lkjhiu mnb,ermtn Ученик (120) Добрый день, а текст по-твоему - не двоичный код?
lkjhiu mnb,ermtnУченик (120) 1 месяц назад
"Потому что не любой текст является двоичным кодом."

Ты ж программист. Ты должен знать, что ЛЮБОЙ текст является двоичным кодом. Абсолютно любой.
Добрый день Просветленный (35282) lkjhiu mnb,ermtn, нет. Он в нем хранится. Но это не значит что он им является. Если бы мы с тобой писали друг другу в двоичном коде, то мы бы просто не смогли читать друг друга сообщения (ну потому что они бы были нечитабельны).
Вероятно, справа - ты Оракул (69204) 1 месяц назад
Потому что для этого его hex-редактором надо открывать. Блокнот пытается интерпретировать нули и единички по имеющимся таблицам кодировок, и ты видишь уже случайные иероглифы, а не нули и единички
Виктор Адаменя Искусственный Интеллект (102467) 1 месяц назад
Текстовик же текстом отрывается а не нулями и единичками.
[vs] Просветленный (35305) 1 месяц назад
Настоящая причина в том, что нули и единицы это биты, а блокнот читает по 8 бит (1 байт). Каждому байту соответствует символ. Вот их ты и видишь. В блокноте даже нуль и единица занимают по целому байту.
Открой jpg в блокноте, тоже бинарник.
Обосрамс ШрамовОракул (52141) 1 месяц назад
ну по 8 или нет зависит от кодировки которой решил воспользоватся блокнот utf-8 или utf-16 или windows-1251 например
Обосрамс ШрамовОракул (52141) 1 месяц назад
вообще читает то система сразу кажысь по 512 байт яйчейку если кластер 512 байт, а обычно он 4кб кластер да и современные hdd по 512 давать уметь не хотят миним. кластер и теперь у них самый маленький 4кб, значит он по 4кб читает и записывает их, а оттуда дёргает кусок в 8 бит или сколько там он захочет кажись так, только вот этим операционка или сам блокнот делает не сказать, наверное язык программирования на котором блокнот пишут высокий делает всё это в тайне, а программист пишет слыш считай как - нибудь а, но это всё крайне не точно
[vs] Просветленный (35305) Обосрамс Шрамов, тут о чтении диска речи и не было. Приложение работает с оперативной памятью. Почти во всех кодировках содержимое читается по байтам, потому что это либо национальные однобайтовые кодировки, либо UTF-8, остальные встречаются крайне редко. Согласно w3techs. com 96.7% сайтов используют UTF-8. Это кодировка переменной длины символа начиная с 1 байта. Байты со значением ниже 128 считаются отдельными ASCII символами. За эту совместимость её полюбили. Текст на латинице всегда отображается корректно в редакторе, настроенном на UTF-8.
Vikkor Mallansohn Гуру (2682) 1 месяц назад
Вам нужен не блокнот, а специальный блокнот++ называется. :)
Или любой hex редактор.
В Тотал Коммандер, Фар есть hex viewer.
Однако там вы все увидите в hex нотации.
Бинарные редакторы редко нужны.
Есть calc++ калькулятор, может показать bin
Похожие вопросы