Что означает \ x00 в двоичном файле? - PullRequest
16 голосов
/ 10 мая 2011

Однажды я спросил парня: «В чем разница между ASCII и двоичными файлами?»

И он сказал: «У двоичных файлов всегда есть \ x00»

Я искал об этоми найдено Что означает значение \ x00, \ x04 в PHP

, поэтому можно сделать вывод, что файлы ASCII не имеют символа NULL?

Ответы [ 2 ]

9 голосов
/ 10 мая 2011

Файл ASCII может быть прочитан или интерпретирован как имеющий строки, оканчивающиеся NULL, возврат каретки и перевод строки или другие управляющие символы, которые предназначены для чтения и действия.Например, программа для чтения текста может искать строку текста, где строка равна «сколько символов вы видите перед тем, как перейти к переводу строки»

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

\ x00 является примером определенного значения байта (HEX 0), которое может интерпретироваться особым образомчитатель текста.

0 голосов
/ 10 мая 2011

Неправильно. Файлы ASCII имеют символы NULL. Фактически каждая строка в ASCII заканчивается на NULL.

ASCII-файлы - это файлы, содержащие только символы ASCII x0 - x127.

Двоичные файлы содержат данные, и каждый отдельный байт может быть символом ascii, целым числом, указателем и т. Д. Просто то, как записать данные в файл и как вы его возвращаете.

...