HarmonyOS 鸿蒙Next ArkTS中 string和Uint8Array如何互转
HarmonyOS 鸿蒙Next ArkTS中 string和Uint8Array如何互转
一段字符串 let str:string = '123456';
如何根据str转成Uint8Array对象?另外,如何根据Uint8Array对象生成string字符串?望回答,感谢。
static stringToUint8Array(str: string): Uint8Array {
if (!str) {
logger.error('stringToUint8Array', 'params error');
throw new Error('stringToUint8Array, params error');
}
let arr: number[] = [];
for (let i = 0; i < str.length; ++i) {
arr.push(str.charCodeAt(i));
}
return new Uint8Array(arr);
}
更多关于HarmonyOS 鸿蒙Next ArkTS中 string和Uint8Array如何互转的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
把string转成Uint8Array
,代码如下:
public static stringToUint8Array(str: string): Uint8Array {
const utf8 = unescape(encodeURIComponent(str));
const arr = new Uint8Array(utf8.length);
for (let i = 0; i < utf8.length; i++) {
arr[i] = utf8.charCodeAt(i);
}
return arr;
}
把uint8Array
转成string一行代码就能解决:
let result=util.TextDecoder.create("utf-8", {ignoreBOM: true}).decodeWithStream(uint8Array)
在HarmonyOS鸿蒙Next ArkTS中,string
和 Uint8Array
的互转可以通过以下方式实现:
string 转 Uint8Array
要将 string
转换为 Uint8Array
,可以使用 TextEncoder
。TextEncoder
可以将字符串编码为 UTF-8 字节序列,并存储在一个 Uint8Array
中。
示例代码:
let str = "Hello, HarmonyOS!";
let encoder = new TextEncoder();
let uint8Array = encoder.encode(str);
Uint8Array 转 string
要将 Uint8Array
转换为 string
,可以使用 TextDecoder
。TextDecoder
可以将 UTF-8 字节序列解码为字符串。
示例代码:
let uint8Array = new Uint8Array([72, 101, 108, 108, 111, 44, 32, 72, 97, 114, 109, 111, 110, 121, 79, 83, 33]);
let decoder = new TextDecoder();
let str = decoder.decode(uint8Array);
通过上述方法,你可以在ArkTS中轻松实现 string
和 Uint8Array
的互转。
如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html,