$nav
===== Function: llBase64ToString =====
string llBase64ToString(string base64str)
Converts a byte sequence containing $lart[UTF-8] characters, encoded as a $lart[Base64] string, to a $lty[string].
That is, the input string is first converted to a $art[Base64]-encoded byte sequence. That byte sequence is then interpreted as a string encoded in $art[UTF-8], and converted to a LSL Unicode $ty[string].
===== Parameters =====
=== base64str ===
A $lty[string] expressed in $lart[Base64] that represents the $art[UTF-8] byte sequence to convert.
===== Return value =====
The $lty[string] that the $art[UTF-8] byte sequence represents.
===== Notes =====
* In the corresponding byte sequence, ''NUL'' characters (U+0000) that are not at the end of the string, and invalid $art[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 $art[UTF-8] with this function.
* Padding is ignored; parsing proceeds until the first non-$art[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 =====
* $lfn[llStringToBase64] encodes a string as $lart[UTF-8], then the $art[UTF-8] as $lart[Base64]. It's the inverse operation of $fn[llBase64ToString].
* Use $lfn[llIntegerToBase64] and $lfn[llBase64ToInteger] to encode/decode an integer in $art[Base64] representation.
* $lfn[llXorBase64] calculates the bitwise XOR of corresponding bytes represented by two $art[Base64] strings, byte by byte.
* $lfn[llEscapeURL] and $lfn[llUnescapeURL] also encode/decode a string in $art[UTF-8], but to a different representation (not Base64).