在 JavaScript 中使用 Base64 Encode / Decode
在較新的瀏覽器中已經有提供 btoa
和 atob
兩個全域函式,可以用來做 base64 的 encode 和 decode,瀏覽器支援參考這裡,基本上就是 IE9 以下不支援,使用方法如下:
1 | btoa('Hello, world'); // "SGVsbG8sIHdvcmxk" |
但是內建的函式不支援 UTF8 的編碼:
1 | btoa('中文'); // DOMException: Failed to execute 'btoa' on 'Window': The string to be encoded contains characters outside of the Latin1 range. |
而另外在 Node.js 中則可使用內建的 buffer 模組,它也可以支援 UTF8:
1 | var Buffer = require('buffer').Buffer; |
若想要瀏覽器中支援 UTF8 可以考慮使用我寫的 hi-base64 套件:
1 | base64.encode('Hello, world'); // "SGVsbG8sIHdvcmxk" |
支援各瀏覽器和 Node.js。
本部落格所有文章除特別聲明外,均採用 CC BY-NC-SA 4.0 許可協議。轉載請註明來自 小殘的程式光廊!
Comment