我尝试在浏览器和服务器中对字符串进行编码,但我对特定字符串
有不同的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=
答案 0 :(得分:0)
我设法使用node-package base-64
获得了我期望的base64编码我仍然不知道为什么,所以如果有人有线索
var base64 = require('base-64');
var ciphertext = ...; //myString
var encoded = base64.encode(bytes);
console.log(encoded); // o2G6qZRTPbNoUPOQIGOouA==