Name Base64Decode
Type Method
Summary Takes a base-64 encoded string and decodes it.
Prototype VARIANT Base64Decode(BSTR Text);
Description Takes a base-64 encoded string (eg. "TmljayBHYW1tb24=") and decodes it. The string may contain space characters (including carriage-return/newline) which will be removed.

The string to be decoded must contain valid base-64 characters, and must be a multiple of 4 characters long (once spaces are removed), or a NULL variant will be returned.

The valid base-64 characters are:

'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P',
'Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f',
'g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v',
'w','x','y','z','0','1','2','3','4','5','6','7','8','9','+','/'

Also, '=' is used as a padding character if the original text to be encoded was not exactly a multiple of 3 characters long.


Note: Available in MUSHclient version 3.22 onwards.
VBscript example
world.note world.Base64Decode ("TmljayBHYW1tb24=")
Jscript example
world.note (world.Base64Decode ("TmljayBHYW1tb24="));
PerlScript example
$world->note ($world->Base64Decode ("TmljayBHYW1tb24="));
Returns The decoded string, or a NULL variant if the input string was not a multiple of 4 characters in length, once spaces were removed, or did not contain the valid base-64 characters listed above.

Note that due to the way strings are represented internally, it is not possible for the decoded string to contain the NULL character (hex 0x00) and be returned correctly.

See also ...