我無法理解node.js中的字符編碼。我正在傳輸數據,出於某種原因,編碼會導致某些字符被其他字符替換。我正在做的是在客戶端進行base64編碼並在node.js中對其進行解碼。Node.js緩衝區編碼問題
爲了簡化,我將範圍縮小到這段代碼失敗:
new Buffer("1w==", 'base64').toString('utf8');
的1w==
是×
字符的基64編碼。現在,當將這個字符串與'base64'
參數傳遞給一個緩衝區,然後做.toString('utf8')
我希望得到相同的字符,但我沒有。相反,我得到了�
(字符代碼65533
)。
編碼utf8
錯?如果是這樣,我應該用什麼來代替?如果不是,我如何解碼node.js中的base 64字符串?
我將編碼從'utf8'改爲'binary',它只使用單個字節。文檔說這是一個棄用的功能,但現在它的工作。謝謝。 – pimvdb