将Uint8Array转换为javascript中的字符串(带中文字符)
Convert Uint8Array to string in javascript (with Chinese characters)
我使用以下代码将Uint8Array对象转换为字符串:
var fileData = cc.FileUtils.getInstance().getByteArrayFromFile("file.txt");
// fileData is a Uint8Array object
var dataString = "";
for(i = 0; i < fileData.length; i++) {
dataString += String.fromCharCode(fileData[i]);
}
alert(dataString);
,如果"file.txt"的内容是拉丁字符,则说
"this is a watch"
则上面的代码可以正常工作。
但是,如果文件中有非拉丁字符,则说"谢谢你! !"
则转换结果不正确。
希望有人能帮助我,谢谢:)
不是解决方案,但要找到问题,请通过获取如下字符代码来验证数组
var str= "thank you 谢谢";
for(i = 0; i < str.length; i++) {
console.log(str.charCodeAt(i));
}
编辑:因为它为35874
提供34
,很明显字符代码不是16位的。因为
35874 = 1000110000100010 => in 8 bits => 00100010 = 34
请检查文件的编码。还要查看是否可以在getByteArrayFromFile
中指定编码。通常使用一个字符集来读取多个字节,你可以在这个例子中看到- actionscript函数
相关文章:
- 在JavaScript中输出转义字符
- 不同浏览器中的空白字符正则表达式行为
- Regex匹配除“”之外的所有字符;.js”;
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 使用RegExp查找url中的字符
- 具有中文字符但输出的JSON.parse数据变为“;未定义”;
- 如何使用JavaScript注入中文字符
- PHP/html:即时搜索功能:无法搜索外语(例如中文)字符
- 如何将中文十六进制字符串解码为中文字符或JavaScript
- 用于验证字母数字字符、所有国际字符(日语、中文、俄语等)的JavaScript正则表达式
- javascript中文/日文字符解码
- 将Uint8Array转换为javascript中的字符串(带中文字符)
- 我可以检测文本中的非日文中文字符吗?
- JavaScript来替换中文字符
- 无法用javascript和json在我的静态网站上显示中文字符
- 如何使用javascript从url中提取中文字符
- javascript检测输入字符是繁体中文还是简体中文
- 将文本区域限制为固定数量的中文字符
- 当我通过location.search搜索中文时,奇怪的字符
- 使用jQuery在请求头中设置中文字符