我有一些大型Javascript对象,我想将其编码为base-64,以用于AWS动态`

let objStr = new Buffer(JSON.stringify(obj), 'ascii');
new Buffer(objStr, 'base64').toString('ascii') !== objStr

我尽量让这件事尽可能简单.

如何对JSON进行base-64编码并将其安全解码回原始值?

推荐答案

您误解了Buffer(str, [encoding])构造函数,encoding告诉构造函数创建str使用了什么编码,或者构造函数应该使用什么编码将str解码为字节array.

基本上,Buffer类代表字节流,只有当您将其从/转换为字符串时,编码才会进入上下文.

您应该改为使用buffer.toString("base64")来获得缓冲区内容的base-64编码.

let objJsonStr = JSON.stringify(obj);
let objJsonB64 = Buffer.from(objJsonStr).toString("base64");

Node.js相关问答推荐

如何在node.js中以随机顺序调用函数并按顺序操作

node 上的磁盘压力

设置默认 node 版本

findoneandupdate()方法更新数据库,但其响应在请求中返回为null

仅在 vue 脚本未退出的情况下使用 docker 时出现错误

MongoDB - mongoose :如何查询这个? 填充()不起作用.它显示空

Angular Build 生产返回致命的 javascript 无效大小错误

node Axios 创建全局令牌变量以在单独的变量头中使用

Mongodb 从文档中获取聚合结果中的特定属性

使用 .pipe(res) 向客户端发送音频不允许您搜索?

'{ id: string; 类型的参数}' 不可分配给FindOneOptions类型的参数

file.slim.js 中的苗条是什么

Node JS:自动 Select `http.get`与`https.get`

在 PassportJS 中使用多种本地策略

NodeJS为exec设置环境变量

ISODate 未定义

NODEJS 进程信息

通过 POST 请求将数据从 node.js 服务器发送到 node.js 服务器

Node.js 应用程序有周期性的缓慢和/或超时(不接受传入的请求)

tsconfig.json 中模块类型的区别