javascript - 将 UTF-8 UInt8Array 转换为 utf-8 字符串

标签 javascript string uint8array

我有一个问题。我需要与 C 节点通信 javascript。

协议(protocol)使用带有 0xAAAA header 的字符串。

在 JS 中我有一个带有 {\xAA,\xAA} 的 Uint8Array 我的问题是我需要将 Uint8Array 转换为 String UTF-8 。

如何将 UTF-8 格式的 Uint8Array 转换为 utF-8 字符串

最佳答案

尝试一下:

function str2arr(str) {
  var utf8 = unescape(encodeURIComponent(str));
  return new Uint8Array(utf8.split('').map(function (item) {
    return item.charCodeAt();
  }));
}

function arr2str(arr) {
  // or [].slice.apply(arr)
  var utf8 = Array.from(arr).map(function (item) {
    return String.fromCharCode(item);
  }).join('');
  
  return decodeURIComponent(escape(utf8));
}

var arr = str2arr('汉字');
document.querySelector('div').innerHTML = arr;
document.querySelector('div:nth-of-type(2)').innerHTML = arr2str(arr);
<div></div>
<div></div>

[0xAA, 0xAA] is an invalid utf8 array.

引用:https://github.com/zswang/jpacks 二进制数据打包和解包。

关于javascript - 将 UTF-8 UInt8Array 转换为 utf-8 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43933735/

相关文章:

c - 获取字符串 c 中的字符串

java - 当替换文本与搜索文本重叠时替换 Java 中的多个子字符串

if/else 语句中的 Java 字符串赋值

javascript - 使用 javascript 将 byteArray 转换为 IntegerArray

javascript - 在 JSON 对象中发送 Uint8Array (BSON)

javascript - jqTransform Select - Ajax 更新?

javascript - 当元素位于首页或底部页面时如何动态设置顶部CSS?

javascript - 无法使用脚本自动填充 PHP MYSQL 动态表(文本字段)中的值

javascript - Ruby on Rails 和 Javascript