Вырезать / вставить исходный код изображения делает изображение поврежденным

212
Lynob

Я пробовал следующее только в Windows 10, я использую приложения по умолчанию.

Если я открою файл фильма в текстовом редакторе, вырежу его, поместу в другое место и вставлю обратно, фильм будет воспроизводиться очень хорошо. То же самое касается почти всего, кроме картинок.

Если я делаю то же самое с PNG, это не работает. Является ли изображение поврежденным процессом или виндами из-за невозможности открыть файл. Что меня удивляет, так это то, что у меня просто проблема с изображениями.

0
@Ramhound, если причина слишком широка, то U может удалить часть сжатия / кодирования. Если на первую часть ответили, то я бы знал ответ на второй части Lynob 6 лет назад 0
@DavidPostill, пожалуйста, прочитайте комментарий выше Lynob 6 лет назад 0
Тема довольно широкая - возможно, вы могли бы пояснить, почему вы ожидаете, что обрезка и вставка «некоторых частей» изображения будут работать, и что вы ожидаете получить? bertieb 6 лет назад 1
Вы, вероятно, также имеете эту проблему с фильмом, просто для сравнения, количество поврежденных данных незначительно. Seth 6 лет назад 0
@ Итак, мой вопрос: как обработчики файлов обрабатывают кодирование после распаковки? Поскольку заранее определить кодировку файла сложно и не всегда работает Lynob 6 лет назад 0
Какой вопрос совершенно другой? Кроме того, нетрудно определить кодировку, поскольку вы реализуете определенные спецификации и магические числа / [подписи файлов] (https://en.wikipedia.org/wiki/List_of_file_signatures) помогают определить, какой формат файла должен быть , Что касается менеджеров архивных файлов ... они не обрабатывают кодирование, потому что они просто распаковывают файлы (в большинстве случаев). Seth 6 лет назад 0
@ Похоже, это другой вопрос, мне пришлось пропустить эту часть, потому что мой вопрос был помечен как «слишком широкий», но это действительно суть. Я наткнулся на проблему выше при тестировании алгоритмов сжатия для проекта, над которым я работаю, я хотел знать, как определить кодировку файлов в c ++, и получил результаты, подобные этому https://stackoverflow.com/questions/7523217/detect-encoding -с-строки-в-cc, который гадал. Итак, я выполнил тесты, перечисленные в приведенном выше вопросе, чтобы посмотреть, что произойдет. Lynob 6 лет назад 0
Это опять другой вопрос, потому что речь идет не о сжатии или определении формата файла / кодировки файла, а скорее о кодировке текста, которая имеет свои проблемы благодаря кодовым страницам и расширенному ASCII. Это также частично объясняет, почему редактирование бинарных файлов, таких как PNG и фильмы, с помощью текстового редактора является такой плохой идеей. Копируя текст, вы копируете его в буфер обмена ([который также имеет формат] (https://msdn.microsoft.com/en-us/library/windows/desktop/ff729168 (v = vs.85) .aspx) ) и вставив его обратно, он может быть изменен. Seth 6 лет назад 0

0 ответов на вопрос