求一段JavaScript代码的解释:有关base64编码

// nodeJS
var str = "\x6a\x8a\x69\x65\xa1\x7d\xac\xae"
var b64 = new Buffer(str).toString('base64')
console.log(b64) // asKKaWXCoX3CrMKu

// PHP
$str = "\x6a\x8a\x69\x65\xa1\x7d\xac\xae";
echo base64_encode($str); // aoppZaF9rK4=

为何不同结果 ?
js這邊該怎麼寫才能跟php同結果?
求大神解答..QQ

阅读 2.6k
2 个回答

你需要考慮編碼.

Buffer.from("\x6a\x8a\x69\x65\xa1\x7d\xac\xae", 'binary').toString('base64')    

python3例子

编码不同,结果就不同

>>> s = "\x6a\x8a\x69\x65\xa1\x7d\xac\xae"
>>> import base64
>>> base64.encodebytes(bytes(s,'utf8'))
b'asKKaWXCoX3CrMKu\n'
>>> base64.encodebytes(bytes(s,'l1'))
b'aoppZaF9rK4=\n'
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题