Skip to content
lsl.devlsl.devLSL Dev

llIntegerToBase64

function
Function syntax
string llIntegerToBase64(
  1. integer number// Integer number to encode.
);
Returns
string
Energy
10

Returns an 8-character Base64 string representing the big-endian encoded value of number.

Returns a string that is a Base64 big endian encode of number

How to use
string result = llIntegerToBase64(0);
Example 1
string ASCII7ToString(integer letter)
{
if(letter >= 0x80 || letter < 0) return "";//Not valid ascii7 character
return llBase64ToString(llIntegerToBase64(letter << 24));
}
Example 2
// Packs a 24-bit unsigned integer value (0-16777215) to only 4 Base64 characters.
string Int24ToBase64(integer value)
{
return llGetSubString(llIntegerToBase64(value<<8), 0, 3);
}
// unpacks a 4-character Base64 value to a 24-bit unsigned integer
integer Base64ToInt24(string value)
{
return (llBase64ToInteger(value)>>8)&0xffffff; // Masking required to remove sign extension from bit-shifting
}

If you are looking for full Unicode translation, not just ASCII7 see: Combined_Library

  • Only the first 6 of the 8 characters returned are needed to decoded it back into an integer. The padding ”==” can be safely removed for storage.
  • “Big-endian” refers to the fact that the most significant, i.e. highest byte of the integer is processed first: the first characters in the returned Base64 string correspond to this byte, and the last characters correspond to the least significant byte.
  • Combined with bit-shifting, removing characters from the Base64 string allows more efficient packing of small values. See llBase64ToInteger caveats for specifics.
Original wiki source

Some wiki templates and tables need their original context. View this article on the Second Life Wiki. Technical wording and examples are retained from the source; historical guidance may differ from current behavior.

From the Second Life Wiki

Community documentation adapted from LlIntegerToBase64, by Linden Research, Inc. and contributing residents.View contributors and history.

Imported wiki revision:

Licensed under CC BY-SA 3.0. Last wiki edit: .Formatting and links have been adapted for this site; API metadata follows the LSL definitions.