This documentation supports the 20.02 (12.0) version of BMC Discovery.To view an earlier version of the product, select the version from the Product version menu.

binary.toValue


binary.toValue(data, format)

Converts the given binary value into the specified format.The binary value is typically a value retrieved via SNMP using the binary settings on discovery-snmpGet or discovery-snmpGetTable.

If the function fails, for example, if the value is invalid, or an unknown format is specified, it returns none.

Format specification

The format specification is a string of two or more characters. The first character specifies the byte order of the data. 

Character

Byte order

<

little-endian

>

big-endian

!

network (= big-endian)

The remaining characters represent the Python types and sizes.

Format

Python type

Standard size

x

no value

 

c

string of length 1

1

B or b

integer

1

?

bool

1

H or h

integer

2

I or i

integer

4

L or l

integer

4

Q or q

integer

8

f

float

4

d

float

8

s

string

 

p

string

 

P

integer

 

For example:

  • "!HI" means convert 6 bytes in network byte order into a 16 bit integer value and a 32 bit integer value.
  • "!4H" or "!HHHH" means convert 8 bytes in network byte order into four 16 bit integer values.

The information in the tables above is taken from the Python documentation.

Example

The FCMGMT-MIB::connUnitPortTable contains a value called connUnitPortFCClassCap which is defined as a 2 octet string (2 bytes). Each bit in this string of bytes indicates the FC class capabilities of the port. To decode this in TPL, you convert the 2 bytes into a number and then use the TPL bit mask operators.

In the following example, the format specifier !H means convert 2 bytes in network byte order into a 16 bit integer value:


value := binary.toValue(connUnitPortFCClassCap, "!H");

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*