Name: binaryEncode

Type: function

Syntax: binaryEncode(<formatsList>, <dataStringList>)

Summary: <encode|Encodes> a set of <value|values> into a single <binaryvalue>.

Introduced: 1.0

OS: mac,windows,linux,ios,android

Platforms: desktop,server,web,mobile

Example:
binaryEncode("a","Q") -- returns "Q"

Example:
binaryEncode("A5","QED") -- returns "QED  "

Example:
binaryEncode("N2a12x",firstNum,secondNum,labelString,"nothing")

Example:
charToNum(binaryEncode("B*","01111111")) -- returns 127

Parameters:
formatsList: The formatsList consists of one or more dataTypes, each followed optionally by an amount. A dataType is one of the following single letters: x: output amount null characters
dataStringList (string): A comma-separated list of dataStrings. Each dataString is a string, or an expression that evaluates to a string.
amount (enum): a: encode amount characters as characters, padding with nullsA: encode amount characters as characters, padding with spacesb: encode amount groups of 4 1s and 0s as bitsB: encode amount groups of 4 1s and 0s as bits, starting at the high end of each byteh: encode amount groups of 2 characters as hexadecimal numbersH: encode amount groups of 2 characters as hexadecimal, starting at the high end of each bytec: encode amount numbers as signed 1-byte integersC: encode amount numbers as unsigned 1-byte integerss: encode amount numbers as signed 2-byte integers in host byte orderS: encode amount numbers as unsigned 2-byte integers in host byte orderi: encode amount numbers as signed 4-byte integers in host byte orderI: encode amount numbers as unsigned 4-byte integers in host byte ordern: encode amount numbers as signed 2-byte integers in network byte orderN: encode amount numbers as signed 4-byte integers in network byte orderm: encode amount numbers as unsigned 2-byte integers in network byte orderM: encode amount numbers as unsigned 4-byte integers in network byte orderf: encode amount numbers as single-precision floating-point numbersd: encode amount numbers as double-precision floating-point numbersThe amount corresponding to each dataType is an integer or the * character:
-  If the dataType is a, A, b, B, h, or H, the amount specifies the number of characters or groups of the dataString to use; extra characters are ignored. The * character Encodes the rest of the data in the current dataString. If no amount is specified, the dataType is used for one character.
-  If the dataType is c, C, s, S, i, I, n, N, m, M,  f, or d, the amount specifies the number of dataStrings to encode. The * character Encodes the rest of the dataStrings. If no amount is specified, the dataType is used for one dataString.
-  If the dataType is x, the amount specifies how many nulls to place in the returned value.

The result: Although the x dataType places <null|nulls> in the resulting <string> regardless of the contents of its corresponding dataString, you still must provide a dataString for instances of x that appear in the <formatsList>. The <binaryEncode> <function> disregards the contents of the dataString used for the dataType x, so you can use any value.

Returns: The <binaryEncode> <function> <return|returns> the binary string representation of the dataStrings.

Description:
Use the <binaryEncode> function to <encode> one or more <value|values> as <binary file|binary data>.

The binary data format produced by <binaryEncode> is similar to the <format> produced by the "pack()" function of the Perl programming language.

If you don't specify a number with the a, A, b, B, h, or H dataTypes, one <character> is <encode|encoded>. If the dataType normally takes more than one <character>, trailing zeroes are added to make up the required number of <characters>. For example, H requires two characters, so binaryEncode("H","3") <encode|Encodes> the <hexadecimal> number 30, adding a zero to the end to make the dataString two <characters> long.

References: string (keyword), character (keyword), characters (keyword), numToChar (function), format (function), return (glossary), binary file (glossary), value (glossary), null (glossary), encode (glossary), binaryvalue (glossary), hexadecimal (glossary), function (control_st)

Tags: text processing
