Unofficial LSL Reference


Unofficial LSL reference

User Tools


You are currently not logged in! Enter your authentication credentials below to log in. You need to have cookies enabled to log in.


Forgotten your password? Get a new one: Set new password

Function: llBase64ToString

string llBase64ToString(string base64str)

Converts a byte sequence containing UTF-8 characters, encoded as a Base64 string, to a string.

That is, the input string is first converted to a Base64-encoded byte sequence. That byte sequence is then interpreted as a string encoded in UTF-8, and converted to a LSL Unicode string.



A string expressed in Base64 that represents the UTF-8 byte sequence to convert.

Return value

The string that the UTF-8 byte sequence represents.


  • In the corresponding byte sequence, NUL characters (U+0000) that are not at the end of the string, and invalid UTF-8 characters, are converted to question marks ("?"). If the string ends in a NUL character, it's just stripped.
    • In LSO, in a few cases it's possible to obtain invalid UTF-8 with this function.
  • Padding is ignored; parsing proceeds until the first non-Base64 character is found.

Short examples

string s;

// The Base64 sequence "4pi6" corresponds to the byte
// sequence E2 98 BA (hex). That byte sequence is the
// UTF-8 code for "☺". Therefore, the following line sets
// s to "☺":
s = llBase64ToString("4pi6"); // sets s to "☺"

s = llBase64ToString(""); // sets s to ""

s = llBase64ToString("SGVsbG8="); // sets s to "Hello"

s = llBase64ToString("SGVsbG8"); // same (padding is ignored)

s = llBase64ToString("AAAA"); // sets s to "??"
// (trailing NUL is stripped; first two NULs are converted to "?")

See also