JavaScript UTF-8编码问题
今天在开发中遇到一个问题,在JavaScript中向服务器发送数据时,由于一些限制,只能发送经过编码的字节流数据,本来打算直接用JavaScript里的String.charCodeAt()和String.fromCharCode()来实现编码转换,结果在转换中文字符时发生了问题,中文自动转换后再转为Uint8Array,会丢失数据,不得已只能自己写了个字符串转UTF-8的函数,直接分享给大家吧。
字符串转UTF-8字节数组
stringToUTF8Array
.
function stringToUTF8Array(str) {
if (!str)
return false;
let result = [];
for (let i = 0, j = str.length; i < j; i++) {
let code = str.charCodeAt(i);
if (code <= 0x7f) {
result.push(code);
} else if (c