在小程序中把"哈哈"字符串转成Uint8Array
时间: 2023-08-07 22:18:55 浏览: 71
在小程序中,可以使用 TextEncoder 对象将字符串转换为 Uint8Array 对象。示例代码如下:
```javascript
// 将字符串转换为 Uint8Array 对象
const str = '哈哈';
const encoder = new TextEncoder();
const uint8Array = encoder.encode(str);
console.log(uint8Array); // 输出 Uint8Array 对象
```
以上代码中,我们首先定义了一个字符串 `str`,然后创建了一个 TextEncoder 对象 `encoder`,将字符串 `str` 转换为 Uint8Array 对象 `uint8Array`,最后将其输出到控制台中。
需要注意的是,TextEncoder 对象在某些旧版本的浏览器中可能不被支持,如果在小程序中出现问题,可以使用其他的转换方式,例如手动将字符串转换为 Uint8Array 对象。
相关问题
微信小程序字符串转base64
可以使用小程序内置的API:wx.arrayBufferToBase64()。
具体实现如下:
```javascript
// 将字符串转成ArrayBuffer
let str = "Hello World";
let buffer = new ArrayBuffer(str.length * 2);
let bufferView = new Uint16Array(buffer);
for (let i = 0; i < str.length; i++) {
bufferView[i] = str.charCodeAt(i);
}
// 将ArrayBuffer转成base64字符串
let base64 = wx.arrayBufferToBase64(buffer);
console.log(base64);
```
需要注意的是,如果字符串中包含中文等非ASCII字符,需要将字符串转成UTF-8编码的ArrayBuffer,否则会出现乱码。
如果你需要将base64字符串转成原始字符串,可以使用小程序内置的API:wx.base64ToArrayBuffer()。具体实现如下:
```javascript
// 将base64字符串转成ArrayBuffer
let base64 = "SGVsbG8gV29ybGQ=";
let buffer = wx.base64ToArrayBuffer(base64);
// 将ArrayBuffer转成字符串
let str = "";
let bufferView = new Uint16Array(buffer);
for (let i = 0; i < bufferView.length; i++) {
str += String.fromCharCode(bufferView[i]);
}
console.log(str);
```
同样需要注意,如果base64字符串中包含中文等非ASCII字符,需要将转成UTF-8编码的ArrayBuffer。
微信小程序字符串含中文转base64,与base64回显中文
在微信小程序中,字符串含中文转base64可以使用以下代码实现:
```javascript
// 将字符串转成UTF-8编码的ArrayBuffer
function str2ab(str) {
let buf = new ArrayBuffer(str.length * 2); // 每个字符占用2个字节
let bufView = new Uint16Array(buf);
for (let i = 0, strLen = str.length; i < strLen; i++) {
bufView[i] = str.charCodeAt(i);
}
return buf;
}
// 将ArrayBuffer转成base64字符串
function ab2base64(arrayBuffer) {
let base64 = wx.arrayBufferToBase64(arrayBuffer);
return base64;
}
// 示例
let str = "你好,世界!";
let arrayBuffer = str2ab(str);
let base64 = ab2base64(arrayBuffer);
console.log(base64); // 5L2g5aW977yM5LiW55WM77yB
```
要注意,在字符串含有中文等非ASCII字符时,必须将字符串转成UTF-8编码的ArrayBuffer,否则会出现乱码。
而base64回显中文,则需要将base64字符串转回原始字符串,方法如下:
```javascript
// 将base64字符串转成ArrayBuffer
function base642ab(base64) {
let arrayBuffer = wx.base64ToArrayBuffer(base64);
return arrayBuffer;
}
// 将ArrayBuffer转成字符串
function ab2str(arrayBuffer) {
let decoder = new TextDecoder("utf-8");
let str = decoder.decode(arrayBuffer);
return str;
}
// 示例
let base64 = "5L2g5aW977yM5LiW55WM77yB";
let arrayBuffer = base642ab(base64);
let str = ab2str(arrayBuffer);
console.log(str); // 你好,世界!
```
同样需要注意,在base64字符串含有中文等非ASCII字符时,必须将base64字符串转成UTF-8编码的ArrayBuffer。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)