簡體   English   中英

Node.js中String的Base64編碼

[英]Base64 encoding of String in Node.js

我嘗試在瀏覽器和服務器中都對字符串進行編碼,但是對於特定字符串,我有不同的base64編碼

這是我的字符串:“£a = S =³hPóc¨¸”(十六進制:00a3006100ba00a900940053003d00b30068005000f300900020006300a800b8)

客戶端:我使用btoa()對該字符串進行編碼,並且具有: o2G6qZRTPbNoUPOQIGOouA== ,這是我期望的結果。

服務器端:根據我在Node.js中的答案 ,使用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=

我設法使用node-package base-64獲得了我期望的base64編碼

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

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM