node js 运行代码报错

2018-07-17 12:57:08 +08:00
 bestehen

function n(t) { return JSON.parse(a("5e5062e82f15fe4ca9d24bc561080e0e",atob(t),0,0,"012345677890123",1)) }

这种 atob 在 js 里面运行为啥报错呢?如何解决?

3143 次点击
所在节点    Node.js
2 条回复
lizheming
2018-07-17 13:11:08 +08:00
atob 是浏览器端方法,Node 中不存在的,需要使用 Buffer.from 方法转一下

```js
const btoa = str => Buffer.from(str).toString('base64');
const atob = str => Buffer.from(str, 'base64').toString();
```
via: https://stackoverflow.com/questions/23097928/node-js-btoa-is-not-defined-error/23097961
bestehen
2018-07-17 13:34:34 +08:00
@lizheming function n(t) {
return JSON.parse(a("5e5062e82f15fe4ca9d24bc561080e0e",Buffer.from(t, 'base64').toString(),0,0,"012345677890123",1))
}
我改成这样后,还是报错如下
N = decodeURIComponent(escape(N))
^

URIError: URI malformed
at decodeURIComponent (native)
at a (/home/shenjianlin/js/code.js:33:5)
at n (/home/shenjianlin/js/code.js:48:19)
at Object.<anonymous> (/home/shenjianlin/js/code.js:55:13)
at Module._compile (module.js:577:32)
at Object.Module._extensions..js (module.js:586:10)
at Module.load (module.js:494:32)
at tryModuleLoad (module.js:453:12)
at Function.Module._load (module.js:445:3)
at Module.runMain (module.js:611:10)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/471581

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX