Binary-safe

Binary-safe is a term mainly used in the PHP programming-language to describe expected behaviour when passing binary-data into functions whose main responsibility is text & string manipulating.

A binary-safe function is essentially one that treats its input as a raw stream of bytes and ignores every textual aspect it may have. It would therefore be more correct to characterize a 'binary-safe' text-function as one which incidentally works on text, but whose primary mode of operation is on raw binary data.

Binary-safe file read and write

While all textual data can be represented in binary-form, it must be done so through a Character encoding. In addition to this, how new-lines (end-of-line signs) are represented may vary depending on the platform used. Windows, Linux and Mac OS X all represent new-lines differently in binary form.

This means that reading a file (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 if he wants to parse the contents of a file as text, or read it as binary data. To convey this intent special flags or different functions exists when reading or writing files to disk.

For example, in the PHP programming language, 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 among PHP-users also be referred to reading in 'binary safe' mode.

References


    This article is issued from Wikipedia - version of the Thursday, December 03, 2015. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.