String 编码
时间: 2023-07-06 10:22:46 浏览: 94
在 JavaScript 中,字符串的编码方式是 Unicode。Unicode 是一种字符集,它为每个字符分配了一个唯一的标识符,包括 ASCII 码和其他非 ASCII 码的字符。在 JavaScript 中,所有字符串都以 Unicode 表示。
当我们需要将字符串进行传输或存储时,需要将其转换为字节流。常见的字符串编码方式有 UTF-8、UTF-16、GB2312、GBK 等。在 JavaScript 中,可以使用 `TextEncoder` 和 `TextDecoder` 对象进行字符串和字节流之间的转换。
例如,将字符串转换为 UTF-8 编码的字节流可以使用以下代码:
```javascript
const encoder = new TextEncoder();
const str = 'Hello, 你好';
const bytes = encoder.encode(str);
console.log(bytes); // 输出字节数组
```
将 UTF-8 编码的字节流转换为字符串可以使用以下代码:
```javascript
const decoder = new TextDecoder();
const bytes = new Uint8Array([72, 101, 108, 108, 111, 44, 32, 228, 189, 160, 229, 165, 189]);
const str = decoder.decode(bytes);
console.log(str); // 输出字符串
```
其中,`TextEncoder` 和 `TextDecoder` 对象的兼容性比较好,可以在现代浏览器和 Node.js 中使用。
阅读全文