HarmonyOS 鸿蒙Next 16进制字符串如何转Uint8Array,有api吗

发布于 1周前 作者 nodeper 来自 鸿蒙OS

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。

回到顶部