在脚本执行过程中,util.base64Decoding 用于 base64 解码。
base64Decoding(input: string, encoding?: "std" | "rawstd" | "url" | "rawurl", mode?: "b"): string | ArrayBuffer
背景
base64 不同的编码方式:
StdEncoding 是标准的 base64 编码,见 RFC 4648 中定义。
RawStdEncoding 是标准的原始、未填充的 base64 编码,见 RFC 4648 第 3.2 节中定义;与 StdEncoding 相同,但省略了填充字符。
URLEncoding 是 RFC 4648 中定义的备用 base64 编码,通常用于 URL 和文件名。
RawURLEncoding 是 RFC 4648 中定义的未填充的替代 base64 编码,通常用于 URL 和文件名;与 URLEncoding 相同,但省略了填充字符。
参数
参数 | 类型 | 描述 |
input | string | 要解码的字符串 |
encoding(可选) | string | 可选,代表前文所述的不同编码方式;可选值包括 "std"、"rawstd"、"url" 或 "rawurl",不设置该值默认为 "std" |
mode(可选) | string | 可选,不设置则结果为 string 类型,设置为"b"则结果为 ArrayBuffer 类型 |
返回
类型 | 描述 |
string 或 ArrayBuffer | base64 解码得到的结果 |
使用样例
不指定 encoding 使用 base64Decoding 方法:
import util from 'pts/util';export default function () {// Hello, worldconsole.log(util.base64Decoding('SGVsbG8sIHdvcmxk'));}
指定 encoding 使用 base64Decoding 方法:
import util from 'pts/util';export default function () {// http://www.example.comconsole.log(util.base64Decoding('aHR0cDovL3d3dy5leGFtcGxlLmNvbQ==', 'url'));}
指定 mode 使用 base64Decoding 方法:
import util from 'pts/util';export default function () {// [object ArrayBuffer]console.log(util.base64Decoding('SGVsbG8sIHdvcmxk', 'std', 'b'));}