$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).