HarmonyOS 鸿蒙Next 字符串转16进制

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

HarmonyOS 鸿蒙Next 字符串转16进制

使用 buffer.transcode(’’, ‘utf-8’, ‘hex’)不行

7 回复

cke_141.png

就是需要在这里使用

function stringToHexNumbers(str: string): number[] { let hexNumbers: number[] = []; for (let i = 0; i < str.length; i++) { let charCode = str.charCodeAt(i); hexNumbers.push(charCode); } return hexNumbers; }

let str = “Hello”; let hexNumbers = stringToHexNumbers(str); console.log(hexNumbers: ${hexNumbers.map(n =&gt;0x${n.toString(16).toUpperCase().padStart(2, ‘0’)}).join(', ')});

function stringToHex(str: string) {
  let hex = '';
  for (let i = 0; i < str.length; i++) {
    let hexCharCode = str.charCodeAt(i).toString(16);
    // 确保每个字符的十六进制编码占两位,不足补零
    hex += ('00' + hexCharCode).slice(-2);
  }
  return hex;
}
let str = "Hello";
let hexStr = stringToHex(str);
console.log(hexStr); // 输出: 48656c6c6f<button style="position: absolute; padding: 4px 8px 0px; cursor: pointer; top: 8px; right: 8px; font-size: 14px;">复制</button>

如何把字符串弄成这种格式昵?[0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8]

那就需要确定是转出uint8Array还是uint16Array

每个number十六进制表示,范围是0x00~0xFF

在HarmonyOS(鸿蒙)Next系统中,将字符串转换为十六进制(Hex)通常涉及将字符串的每个字符的ASCII码值转换为对应的十六进制表示。以下是一个使用Java语言(假设你在开发HarmonyOS应用时使用Java)的示例代码,展示如何进行这种转换:

public class StringToHex {
    public static String toHexString(String input) {
        StringBuilder hexString = new StringBuilder();
        for (char c : input.toCharArray()) {
            String hex = Integer.toHexString(c);
            if (hex.length() == 1) {
                hexString.append('0');
            }
            hexString.append(hex);
        }
        return hexString.toString();
    }

    public static void main(String[] args) {
        String input = "Hello";
        String hex = toHexString(input);
        System.out.println(hex);  // 输出: 48656c6c6f
    }
}

此代码通过遍历字符串的每个字符,将其ASCII码值转换为十六进制字符串,并拼接成一个完整的十六进制字符串。注意,如果字符的十六进制表示只有一位,则前面补零以保持格式统一。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部