HarmonyOS 鸿蒙Next 16进制字符串如何转Uint8Array,有api吗
HarmonyOS 鸿蒙Next 16进制字符串如何转Uint8Array,有api吗
16进制字符串如何转Uint8Array,有api吗
3 回复
let uint8Array = new Uint8Array([72,101,108,108,111,32,87,111,114,108,100])
let decoder = new util.TextDecoder('utf-8')
let str = decoder.decodeWithStream(uint8Array)
console.log(str)//输出:Hello World
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
export function strToBuffer(input: string): Uint8Array {
return new Uint8Array(buffer.from(input, 'utf8').buffer)
}
export function asciiStrToStr(input:string):string{
let result = ‘’
for(let i=0;i<input.length;i=i+2){
result+=String.fromCharCode(parseInt(input[i]+input[i+1],16))
}
return result
}
<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>
在HarmonyOS(鸿蒙)开发中,将16进制字符串转换为Uint8Array
通常不直接通过特定的API完成,但可以通过JavaScript的标准方法来实现。你可以使用Buffer
(如果环境支持)或者手动解析字符串来实现。
示例代码(不使用特定API):
function hexStringToUint8Array(hexStr) {
let bytes = [];
for (let c = 0; c < hexStr.length; c += 2) {
bytes.push(parseInt(hexStr.substr(c, 2), 16));
}
return new Uint8Array(bytes);
}
// 使用示例
let hex = "4a6f686e";
let uint8 = hexStringToUint8Array(hex);
console.log(uint8);
如果问题依旧没法解决请加我微信,我的微信是itying888。