Product Documentation

Converting Numbers to Text

Sep 02, 2013

The following functions produce binary strings from a number returned by an expression prefix. These functions are particularly useful in the TCP rewrite feature as replacement strings for binary data. For more information about the TCP rewrite feature, see "Rewrite."

All the functions return a value of type text. The endianness that some of the functions accept as a parameter is either LITTLE_ENDIAN or BIG_ENDIAN.

Table 1. Functions That Produce a Binary String From a Number
Function Description

<number>.SIGNED8_STRING

Produces an 8-bit signed binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).GET_SIGNED8(16).SUB(3).SIGNED8_STRING

<number>.UNSIGNED8_STRING

Produces an 8-bit unsigned binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).GET_UNSIGNED8(31).ADD(3).UNSIGNED8_STRING

<number>.SIGNED16_STRING(<endianness>)

Produces a 16-bit signed binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).SKIP(12).GET_SIGNED16(0, BIG_ENDIAN).SUB(4).SIGNED16_STRING(BIG_ENDIAN)

<number>.UNSIGNED16_STRING(<endianness>)

Produces a 16-bit unsigned binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).GET_UNSIGNED16(47, LITTLE_ENDIAN).ADD(7).UNSIGNED16_STRING(LITTLE_ENDIAN)

<number>.SIGNED32_STRING(<endianness>)

Produces a 32-bit signed binary string representing the number.

Example

HTTP.REQ.BODY(100).AFTER_STR("delim").GET_SIGNED32(0, BIG_ENDIAN).SUB(1).SIGNED32_STRING(BIG_ENDIAN)

<unsigned_long_number>.UNSIGNED8_STRING

Produces an 8-bit unsigned binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).GET_UNSIGNED8(24).TYPECAST_UNSIGNED_LONG_AT.ADD(12).UNSIGNED8_STRING

<unsigned_long_number>.UNSIGNED16_STRING(<endianness>)

Produces a 16-bit unsigned binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).GET_UNSIGNED16(23, LITTLE_ENDIAN).TYPECAST_UNSIGNED_LONG_AT.ADD(10).UNSIGNED16_STRING(LITTLE_ENDIAN)

<unsigned_long_number>.UNSIGNED32_STRING(<endianness>)

Produces a 32-bit unsigned binary string representing the number. If the value is out of range, an undef condition is raised.

Example

HTTP.REQ.BODY(100).AFTER_STR("delim2").GET_UNSIGNED32(0, BIG_ENDIAN).ADD(2).UNSIGNED32_STRING(BIG_ENDIAN)