Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.
b64decode( input, [encoding], [format] )
Decode the passed base64 encoded input
string into the unencoded original input in either binary or string formats.
Parameter | Type | Description |
---|---|---|
input | string | The string to base64 decode. |
encoding (optional) | string | The base64 encoding to use. Available options are: - “std”: the standard encoding with = padding chars and + and / characters in encoding alphabet. This is the default.- “rawstd”: like std but without = padding characters.- “url”: URL safe version of std , encoding alphabet doesn’t contain + and / characters, but rather - and _ characters.- “rawurl”: like url but without = padding characters. |
format (optional) | string | If "s" return the data as a string, otherwise if unspecified an ArrayBuffer object is returned. |
Returns
Type | Description |
---|---|
ArrayBuffer / string | The base64 decoded version of the input string in either string or ArrayBuffer format, depending on the format parameter. |
Example
import { check } from 'k6';
import encoding from 'k6/encoding';
export default function () {
const str = 'hello world';
const enc = 'aGVsbG8gd29ybGQ=';
const expBin = new Uint8Array([104, 101, 108, 108, 111, 32, 119, 111, 114, 108, 100]);
check(null, {
'is decoding to string correct': () => encoding.b64decode(enc, 'std', 's') === str,
'is decoding to ArrayBuffer correct': () => {
const decBin = new Uint8Array(encoding.b64decode(enc));
if (decBin.length != expBin.length) return false;
for (let i = 0; i < decBin.length; i++) {
if (decBin[i] !== expBin[i]) return false;
}
return true;
},
});
}