b64decode( input, [encoding], [format] )
将传入的 base64 编码的 input
字符串解码为未编码的原始输入,格式可以是二进制或字符串。
参数 | 类型 | 描述 |
---|---|---|
input | string | 要进行 base64 解码的字符串。 |
encoding (可选) | string | 要使用的 base64 编码。 可用选项包括 - “std”:标准编码,使用 = 填充字符以及编码字母表中的 + 和 / 字符。这是默认值。- “rawstd”:类似于 std ,但不包含 = 填充字符。- “url”: std 的 URL 安全版本,编码字母表不包含 + 和 / 字符,而是包含 - 和 _ 字符。- “rawurl”:类似于 url ,但不包含 = 填充字符。 |
format (可选) | string | 如果为 "s" ,则将数据作为字符串返回;如果未指定,则返回 ArrayBuffer 对象。 |
返回值
类型 | 描述 |
---|---|
ArrayBuffer / string | 根据 format 参数,返回 input 字符串的 base64 解码版本,格式为字符串或 ArrayBuffer。 |
示例
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;
},
});
}