llBase64ToInteger

From Second Life Wiki
Jump to navigation Jump to search

Summary

Function: integer llBase64ToInteger( string str );

Returns an integer that is str Base64 decoded as a big endian integer.

• string str Base64 string

Caveats

  • If str contains fewer than 6 characters, any incomplete least-significant bytes of the integer are set to 0.
    • For example, the Base64 value "qqqqqq==" corresponds to the hexadecimal value 0xAAAAAAAA. If the padding "=" characters and the last "q" are dropped, there are 5*6=30 bits remaining and those can form only 3 full bytes (24 bits). The result is 0xAAAAAA00.
    • The Base64 value "qqqq" has 4*6=24 bits available, which is enough for the same 3 full bytes. The result is also 0xAAAAAA00.
    • Similarly, 3-character Base64 has 18 bits, enough for 2 bytes, and 2-character Base64 has 12 bits, enough for one byte.
    • Finally, single-character Base64 has only 6 bits and thus no complete bytes, and the result is always zero.
  • Returns zero if str is longer than 8 characters.
All Issues ~ Search JIRA for related Bugs

Examples

integer value = llBase64ToInteger("3q0AAA==");

// writes out -559087616
llOwnerSay((string)value);

See Also

Functions

•  llIntegerToBase64

Articles

•  Base64

Deep Notes

Search JIRA for related Issues

Signature

function integer llBase64ToInteger( string str );