HarmonyOS 鸿蒙Next 求二进制和十六进制互转的demo

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

HarmonyOS 鸿蒙Next 求二进制和十六进制互转的demo 蓝牙传输指令频繁的使用二进制和十六进制互转以及AES加解密
没有参考的文档

3 回复

十六进制字符转明文字符串 参考: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-util-V13#decodetostring12

请参考下面的方法:

import util from '@ohos.util';

function convertHexStrToString(str: string) {
  if (!str || str.length === 0) {
    return '';
  }
  let arr: number[] = []
  while (str.length > 0){
    arr.push(Number.parseInt(str.substring(0, 2), 16))
    str = str.substring(2)
  }
  const decoder = util.TextDecoder.create('utf-8');
  return decoder.decodeToString(new Uint8Array(arr));
}

二进制转十六进制,可以先用parseInt将二进制转换为十进制再使用.toString(16)转换为十六进制

参考方法

function unit8ArrayToShowStr(unit8Array: number[]): string {
  let str: string = unit8Array.map(value => value.toString(16)).join('');
  return str
}

更多关于HarmonyOS 鸿蒙Next 求二进制和十六进制互转的demo的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙系统中,进行二进制与十六进制之间的转换,可以通过内置的数学运算函数和字符串处理函数来实现。以下是一个简单的示例代码,展示了如何在HarmonyOS中进行二进制与十六进制之间的互转:

二进制转十六进制:

#include <iostream>
#include <bitset>
#include <sstream>
#include <iomanip>

std::string binaryToHex(const std::string& binary) {
    unsigned long decimal = std::stoul(binary, nullptr, 2);
    std::stringstream ss;
    ss << std::hex << decimal;
    return ss.str();
}

int main() {
    std::string binary = "1101";
    std::string hex = binaryToHex(binary);
    std::cout << "Hex: " << hex << std::endl; // Output: D
    return 0;
}

十六进制转二进制:

#include <iostream>
#include <bitset>
#include <sstream>

std::string hexToBinary(const std::string& hex) {
    unsigned long decimal = std::stoul(hex, nullptr, 16);
    std::bitset<32> binary(decimal); // Assuming 32-bit for demonstration
    return binary.to_string();
}

int main() {
    std::string hex = "D";
    std::string binary = hexToBinary(hex);
    std::cout << "Binary: " << binary << std::endl; // Output: 1101 (padded with zeros if needed)
    return 0;
}

请注意,上述代码是基于C++编写的,并假设在HarmonyOS的开发环境中可以直接使用。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部