Файл изображения в текстовом редакторе - Какие символы? Что за процесс? - PullRequest
1 голос
/ 22 марта 2010

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

если я открою файл изображения (.PNG) с помощью Text Edit или Note Pad, файл будет представлен в текстовых символах. вот выдержка:

ˇflG¿§vÑ$BaçC$ 
èœ≥à-ƒ…åGj!mëA»T‰dÚ%ryǬF1¢ƒQ∑P®pT™5àZDÌ¢ëhZ¥ZÌàéDÁ°õ—„ËUÙ/Ü£å±∆Ñ`r0è0„ò5Ão,2,A,-,g¨X¨2¨¨y¨}l\lNll;Ï(ÏbÏnÏyÏC^MWú$újúaúu\

1 Ответ

1 голос
/ 22 марта 2010

Редактор (наивно) интерпретирует байты (октеты) файла как некоторую кодировку символов, но по вашему отрывку очень трудно определить, какой именно. Действительно, похоже, что он может переключаться между несколькими.

Возможно, было бы проще выяснить, что именно он делал, если бы вы показали представление с самого начала. Файл PNG (и многие стандартизированные двоичные форматы файлов) начинается с «магического числа», которое означает «если вы обращаете внимание, о программа, этот файл содержит данные PNG». Магическое число для файлов PNG - это пять символов \x89 P N G \r \n, где \ x89 - это символ, который отсутствует в ASCII , но может отображаться как ‰ на кодовой странице Windows-1252 и "\ r" и "\ n" - это возврат каретки ASCII и перевод строки, соответственно.

Меня удивляет то, что в вашем отрывке слишком много разных символов, что делает маловероятным использование только одной таблицы символов. Если, например, используется кодовая страница 1252, некоторые из латинских символов «™ û будут иметь смысл. К сожалению, ваш пример также включает различные греческие символы «∆∏Ω», и вы просто не можете упаковать столько разных символов в один байт.

Это не совсем бессмысленно, то есть вы, вероятно, видите одну и ту же последовательность глифов для одного и того же файла, и их можно - в принципе - вернуть обратно в исходный PNG, если вы знали, что такое схема кодирования, но Я не могу понять это из того, что вы дали. (Это почти верно, ваш пример содержит строки типа «"X˘ ˝… ˚» и глифы, которые отображаются как пробелы, немного трудно визуально расшифровать до известного байта.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...