HarmonyOS 鸿蒙Next 求二进制和十六进制互转的demo
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
https://ohpm.openharmony.cn/#/cn/detail/@nutpi%2Fhexconvert
在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,