📜  uint8array 到字符串 (1)

📅  最后修改于: 2023-12-03 14:48:09.333000             🧑  作者: Mango

将Uint8Array转换为字符串的方法

如果您需要将Uint8Array数据转换为字符串,这里提供了几种方法供您参考。

1. 使用 TextDecoder API

在现代的浏览器或Node.js环境中,您可以使用TextDecoder API将Uint8Array转换为字符串。TextDecoder API提供了Decoders对象,用于在各种编码之间转换字符串和字节。

以下是使用TextDecoder API的示例代码:

const decoder = new TextDecoder('utf-8');
const uint8Array = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]);
const str = decoder.decode(uint8Array);
console.log(str); // "Hello World!"
2. 使用 String.fromCharCode() 方法

可以使用String.fromCharCode()方法将Uint8Array转换为字符串。该方法会返回基于指定Unicode值序列创建的字符串。

以下是使用String.fromCharCode()方法的示例代码:

const uint8Array = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]);
const str = String.fromCharCode.apply(null, uint8Array);
console.log(str); // "Hello World!"
3. 使用for循环实现转换

您还可以使用for循环逐个将Uint8Array中的元素转换为字符,并将这些字符组合成字符串。

以下是使用for循环的示例代码:

const uint8Array = new Uint8Array([72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100, 33]);
let str = '';
for (let i = 0; i < uint8Array.length; i++) {
  str += String.fromCharCode(uint8Array[i]);
}
console.log(str); // "Hello World!"

以上是将Uint8Array转换为字符串的三种方法,您可以根据您的实际情况选择其中的一种。