llBase64ToInteger

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 );