2 точных копии autorun.inf, одна работает, другая не [дубликат]

19

У меня есть два файла Autorun.inf, код внутри них точно такой же. Но только 1 работает, другой не работает.

Тот, который работает, скопирован с DVD, и я отредактировал его. Тот, который не работает, создан на моем рабочем столе путем переименования текстового файла (я правильно переименовал его).

Этот работает

введите описание изображения здесь

Этот не работает

введите описание изображения здесь

Если вы хотите файлы:

Рабочий один: http://www16.zippyshare.com/v/64IutSu4/file.html

Не работает один: http://www98.zippyshare.com/v/zEqU2BZ7/file.html

Кто-нибудь знает, почему не работает тот, который я создал на своем рабочем столе? и как я могу заставить его работать? а какая разница между этими 2 файлами?

Благодарю.

user4335407
источник
Я открыл оба с помощью шестнадцатеричного редактора, и они совершенно разные, глядя на шестнадцатеричные значения. Его достаточно легко сделать новым. Создайте текстовый файл автозапуска и введите данные, сохраните файл и измените расширение с txt на inf.
Моав
@Moab Это то, что я сделал, но я сохранил его как «UTF-8 с UTF-8 BOM» - (dxiv), и это было проблемой. Спасибо за ответ :)
user4335407
1
Я бы не согласился с их точными копиями. Это просто невозможно, ЕСЛИ они есть.
Зайбис
Первый файл говорит "USB". Второй файл говорит "usbk". Посмотрите на последние строки. Похоже на простую опечатку.
Приближается к

Ответы:

35

Второй .inf, который не работает, по- видимому, были сохранены в UTF-8 с в UTF-8 BOM .

Спецификация UTF-8 означает, что файл начинается с двоичной последовательности EF BB BF(в шестнадцатеричном формате ). Но Windows ожидает, что autorun.infфайлы будут иметь обычный текст, поэтому она не распознает этот файл как таковой.

Мой совет заключается в том, чтобы при сохранении .infфайлов или аналогичных файлов в текстовом редакторе выбирать опцию простого текста .

dxiv
источник
2
и именно поэтому вы не используете блокнот для редактирования программных файлов.
Торбьерн Равн Андерсен
4
@ ThorbjørnRavnAndersen Я не думаю, что блокнот добавляет спецификацию.
Sharky
1
Это не так, но это также не говорит вам о спецификации и сохранит ее в той же кодировке, что и исходный файл.
Нельсон
1
UTF8 - простой текст. Я предполагаю, что вы говорите об ASCII.
fNek
2
Проблема не только в кодировании переменной длины. Дело в том, что «спецификация» (которая на самом деле вовсе не является спецификацией, потому что спецификация используется только для того, чтобы отличать код с прямым порядком байтов от кодировок с прямым порядком байтов 16-битного или большего Unicode) не видна внутри редактора. И невидимость «спецификации» - это то, что больше не делает ее простым текстом.
Монти Хардер
32

Как сказал dxiv, это вызвано спецификацией UTF-8.

Редактор файлов, который вы используете, Notepad ++, может сообщить вам кодировку файла.

введите описание изображения здесь

Спецификация UTF-8 добавляет заголовочные байты к файлу, который нарушает их совместимость со стандартными файлами ASCII, тогда как файлы UTF-8 без BOM (или просто UTF-8) полностью обратно совместимы со стандартным файлом ASCII, при условии, что вы не используете какой-либо UTF -8 символов.

Notepad ++ также имеет плагин HEX-редактора, и вы сможете увидеть эти дополнительные байты вместе с ним:

введите описание изображения здесь

нельсон
источник