llBase64ToInteger
Jump to navigation
Jump to search
All Issues ~ Search JIRA for related Bugs
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.
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Summary
Function: integer llBase64ToInteger( string str );281 | Function ID |
0.0 | Forced Delay |
10.0 | Energy |
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 value0xAAAAAAAA
. 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 is0xAAAAAA00
. - The Base64 value
"qqqq"
has 4*6=24 bits available, which is enough for the same 3 full bytes. The result is also0xAAAAAA00
. - 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.
- For example, the Base64 value
- Returns zero if str is longer than 8 characters.
Examples
integer value = llBase64ToInteger("3q0AAA==");
// writes out -559087616
llOwnerSay((string)value);