Node.js中String的Base64编码

时间:2017-05-19 15:39:20

标签: javascript node.js encoding

我尝试在浏览器和服务器中对字符串进行编码,但我对特定字符串

有不同的base64编码

这是我的字符串:“£aº©S =³hPóc¨¸”(Hexa:00a3006100ba00a900940053003d00b30068005000f300900020006300a800b8)

客户端:我使用btoa()对此String进行编码,我有:o2G6qZRTPbNoUPOQIGOouA==这是我期望的结果。

服务器端:我根据Node.js中的this answer使用Buffer对此字符串进行编码:

var ciphertext = ... // myString
console.log(ciphertext.hexEncode()); // 00a3006100ba00a900940053003d00b30068005000f300900020006300a800b8  
console.log(Buffer.from(ciphertext, 'utf8').toString('base64')) // wqNhwrrCqcKUUz3Cs2hQw7PCkCBjwqjCuA==
console.log(Buffer.from(ciphertext, 'ucs2').toString('base64')) // owBhALoAqQCUAFMAPQCzAGgAUADzAJAAIABjAKgAuAA=

1 个答案:

答案 0 :(得分:0)

我设法使用node-package base-64

获得了我期望的base64编码

我仍然不知道为什么,所以如果有人有线索

var base64 = require('base-64');

var ciphertext = ...; //myString
var encoded = base64.encode(bytes);
console.log(encoded); // o2G6qZRTPbNoUPOQIGOouA==