Двоично-безопасная функция — это функция, которая обрабатывает свои входные данные как необработанный поток байтов и игнорирует все текстовые аспекты, которые он может иметь. Этот термин в основном используется в языке программирования PHP для описания ожидаемого поведения при передаче двоичных данных в функции , чья основная обязанность — манипулирование текстом и строками , и широко используется в официальной документации PHP. [1]
Хотя все текстовые данные могут быть представлены в двоичной форме, это должно быть сделано посредством кодировки символов . В дополнение к этому, способ представления новых строк может различаться в зависимости от используемой платформы. Windows, Linux и macOS представляют новые строки по-разному в двоичной форме. Это означает, что чтение файла как двоичных данных, его анализ как текста и последующая запись обратно на диск (таким образом, обратное преобразование в двоичную форму) может привести к иному двоичному представлению, чем то, которое использовалось изначально.
Большинство языков программирования позволяют программисту решать, анализировать ли содержимое файла как текст или читать его как двоичные данные. Чтобы передать это намерение, существуют специальные флаги или различные функции при чтении или записи файлов на диск. Например, в языках программирования PHP, C и C++ разработчикам приходится использовать fopen($filename, "rb")
вместо , fopen($filename, "r")
чтобы прочитать файл как двоичный поток вместо того, чтобы интерпретировать текстовые данные как таковые. Это также может называться чтением в «бинарно-безопасном» режиме.