我正在開發一個通過AJAX與服務器通信的網頁。服務器期望以特定格式提供二進制數據。目前,我的JavaScript代碼可以生成服務器期望的全部數據,除了一部分由一些字符串參數的UTF-8表示組成。在JavaScript中跨瀏覽器編碼字符串(UTF-8中的二進制數據)
簡而言之,我需要的是一個JavaScript函數,它獲得一個字符串s
並將它的UTF-8表示形式返回爲Uint8Array
。
這是很容易在Firefox中,它具有TextEncoder
類:
function utf8(s) {
return new TextEncoder().encode(s);
}
不幸的是,Firefox是不是唯一的瀏覽器那裏;-)有誰知道的方式做到這一點的跨瀏覽器?
我可以寫出自己的編碼器,但我寧願使用本地的東西,如果可能的話。
注意:只要在Google Chrome上有效,我會很高興地歡迎使用非跨瀏覽器解決方案。
既然你知道你的問題的解決方案是一個UTF-8編碼器,我投票關閉它,因爲它要求圖書館的建議。谷歌可以在一秒鐘內回答。 – Jon
@Jon - 我不是在找圖書館。此外,谷歌沒有回答我的問題(谷歌是我的第一次,第二次......和第十次嘗試之前來到)。 – Tom
恩,[它回答了我的問題](https://www.google.gr/#q=js+utf-8+encode)。 – Jon