在進行Web開發中,經常會涉及到json格式的數據進行傳輸和處理。Base64編碼則是常用于將二進制數據轉化為可傳輸字符串的一種方法。然而,有時候在進行Base64解碼后,我們會遇到亂碼的情況。
造成這種情況的原因主要有兩個:一是在進行Base64編碼時有誤,導致解碼出現失敗;二是Base64編碼的數據中本身就存在中文或其他非ASCII字符,在解碼后沒有對字符集進行正確的處理。對于第二種情況,解決方法就是在解碼后對數據進行正確的字符集轉換。
// 假設data是進行Base64編碼后的json字符串
const base64 = require('base64-js');
const utf8 = require('utf8');
const decodedData = base64.toByteArray(data);
const jsonData = utf8.decode(decodedData);
這段代碼中,我們使用了Base64-js和utf8兩個第三方庫。Base64-js用于將Base64編碼的字符串轉換成字節碼,而utf8則用于將字節碼轉化成正確的字符。