如何在 google 应用程序脚本中使用节点 js(缓冲区)
How to use node js (Buffer) in google apps script
我想在 google 应用程序脚本中执行此节点 js 行。
如何在 google 应用程序脚本中使用这一行:
const payload = new Buffer(JSON.stringify(obj)).toString('base64');
当我 运行 它时,我得到了这个错误:
ReferenceError: Buffer is not defined
缓冲区在nodeJS中使用
客户端等价物JavaScript是array buffer
为了从字符串中创建一个,您必须从具有字符串长度的新数组缓冲区对象中创建一个 uint8array 或 Uint16Array,然后遍历该数组并将字符串中的字符代码值添加到索引,return 缓冲区
一个函数
function Buffer(str) {
var buf= new ArrayBuffer(str.length/*multiply by 2 for higher chars*/)
var ar = new Uint8Array(buf) //use Uint16Array etc for larger, i=0
for(i=0;i< ar.length;i++) ar[i] = str.charCodeAt(I)
return buf
}
我相信你的目标如下。
- 您想将 Node.js 中的
const payload = new Buffer(JSON.stringify(obj)).toString('base64');
转换为 Google Apps 脚本。
遗憾的是,在当前阶段,new Buffer()
和 Buffer.from()
无法与 Google Apps 脚本一起使用。所以在这种情况下,我认为 Utilities.base64Encode
可以用于您的情况。示例脚本如下
示例脚本:
const obj = {key: "value"};
const payload = Utilities.base64Encode(JSON.stringify(obj));
console.log(payload) // eyJrZXkiOiJ2YWx1ZSJ9
结果:
当上面的脚本是运行时,eyJrZXkiOiJ2YWx1ZSJ9
被检索。在这种情况下,我可以确认结果值与以下 Node.js 脚本相同。
const obj = {key: "value"};
const payload = new Buffer(JSON.stringify(obj)).toString('base64');
// or const payload = Buffer.from(JSON.stringify(obj)).toString('base64');
console.log(payload) // eyJrZXkiOiJ2YWx1ZSJ9
参考:
我想在 google 应用程序脚本中执行此节点 js 行。 如何在 google 应用程序脚本中使用这一行:
const payload = new Buffer(JSON.stringify(obj)).toString('base64');
当我 运行 它时,我得到了这个错误:
ReferenceError: Buffer is not defined
缓冲区在nodeJS中使用
客户端等价物JavaScript是array buffer
为了从字符串中创建一个,您必须从具有字符串长度的新数组缓冲区对象中创建一个 uint8array 或 Uint16Array,然后遍历该数组并将字符串中的字符代码值添加到索引,return 缓冲区
一个函数
function Buffer(str) {
var buf= new ArrayBuffer(str.length/*multiply by 2 for higher chars*/)
var ar = new Uint8Array(buf) //use Uint16Array etc for larger, i=0
for(i=0;i< ar.length;i++) ar[i] = str.charCodeAt(I)
return buf
}
我相信你的目标如下。
- 您想将 Node.js 中的
const payload = new Buffer(JSON.stringify(obj)).toString('base64');
转换为 Google Apps 脚本。
遗憾的是,在当前阶段,new Buffer()
和 Buffer.from()
无法与 Google Apps 脚本一起使用。所以在这种情况下,我认为 Utilities.base64Encode
可以用于您的情况。示例脚本如下
示例脚本:
const obj = {key: "value"};
const payload = Utilities.base64Encode(JSON.stringify(obj));
console.log(payload) // eyJrZXkiOiJ2YWx1ZSJ9
结果:
当上面的脚本是运行时,eyJrZXkiOiJ2YWx1ZSJ9
被检索。在这种情况下,我可以确认结果值与以下 Node.js 脚本相同。
const obj = {key: "value"};
const payload = new Buffer(JSON.stringify(obj)).toString('base64');
// or const payload = Buffer.from(JSON.stringify(obj)).toString('base64');
console.log(payload) // eyJrZXkiOiJ2YWx1ZSJ9