javascript字符串轉換成utf-8編碼方式有:1、支持window.TextEncoder()的情況,語法“TextEncoder('utf8');”;2、利用encodeURI的編碼進行替換,語法“encodeURI(字符串)”。
實踐中碰到了一個大問題,在 javascript 中,可能有一些中文字符串,我們想將其進行二進制流編碼的時候,需要將其轉換為 utf8 的編碼。
也就是說,輸入的是一個字符串:'呆滯的慢板今天掙了100塊錢'。
輸出的是一個字節序列:
又或者是這一個單字節的字符串:
經過不懈的折騰,終於搞明白了,有兩種解決方案:
1. 支持 window.TextEncoder() 的情況
這種返回的是一個整數數組。
2. 利用 encodeURI 的編碼進行替換
原理是,如果使用 encodeURI(str),其中如果碰到中文字符之類的,就會按照 utf8 編碼之后變成 %E5%91 這個樣子,我們利用這個,完了之后再將 % 替換成 \x,就得到了單個字節的串。
3. 綜合使用
於是,我們綜合來定義一個兼容的方案: