Misplaced Pages

Binary-safe

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "Binary-safe" – news · newspapers · books · scholar · JSTOR (December 2009) (Learn how and when to remove this message)

A binary-safe function is one that treats its input as a raw stream of bytes and ignores every textual aspect it may have. The term is mainly used in the PHP programming language to describe expected behaviour when passing binary data into functions whose main responsibility is text and string manipulating, and is used widely in the official PHP documentation.

Binary-safe file read and write

While all textual data can be represented in binary-form, it must be done so through character encoding. In addition to this, how newlines are represented may vary depending on the platform used. Windows, Linux and macOS all represent newlines differently in binary form. This means that reading a file as binary data, parsing it as text and then writing it back to disk (thus reconverting it back to binary form) may result in a different binary representation than the one originally used.

Most programming languages let the programmer decide whether to parse the contents of a file as text, or read it as binary data. To convey this intent, special flags or different functions exist when reading or writing files to disk. For example, in the PHP, C, and C++ programming languages, developers have to use fopen($filename, "rb") instead of fopen($filename, "r") to read the file as a binary stream instead of interpreting the textual data as such. This may also be referred to as reading in 'binary safe' mode.

References

  1. "PHP: dirname - Manual". it.php.net. Retrieved 2017-02-21.


Stub icon

This computer-programming-related article is a stub. You can help Misplaced Pages by expanding it.

Categories: