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;
},
});
}