No results for

Powered byAlgolia

b64decode( input, [encoding], [format] )

suggest edits

Decode the passed base64 encoded input string into the unencoded original input in either binary or string formats.

ParameterTypeDescription
inputstringThe string to base64 decode.
encoding (optional)stringThe 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)stringIf "s" return the data as a string, otherwise if unspecified an ArrayBuffer object is returned.

Returns

TypeDescription
ArrayBuffer / stringThe base64 decoded version of the input string in either string or ArrayBuffer format, depending on the format parameter.

Breaking change in v0.32.0

Since k6 v0.32.0 b64decode() returns an ArrayBuffer object by default instead of a string. To return a string pass "s" as the 3rd parameter, e.g. encoding.b64decode(encodedString, 'std', 's').

Example

import { check } from 'k6';
import encoding from 'k6/encoding';
export default function () {
let str = 'hello world';
let enc = 'aGVsbG8gd29ybGQ=';
let 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': () => {
let 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;
}
});
}