js十六进制转byte数组
时间: 2023-07-06 18:38:43 浏览: 174
你可以使用以下代码将十六进制字符串转换为字节数组:
```javascript
function hexToBytes(hexString) {
const bytes = [];
for (let i = 0; i < hexString.length; i += 2) {
bytes.push(parseInt(hexString.substr(i, 2), 16));
}
return bytes;
}
```
使用示例:
```javascript
const hexString = '48656c6c6f20576f726c64';
const byteArray = hexToBytes(hexString);
console.log(byteArray); // [72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
```
相关问题
在 JavaScript 中将十六进制字符串转换为字节数组形式
在 JavaScript 中将十六进制字符串转换为字节数组形式,可以使用以下方法:
```javascript
function hexStringToByteArray(hexString) {
// 去除字符串开头的 "0x" 前缀
if (hexString.startsWith("0x")) {
hexString = hexString.slice(2);
}
// 创建一个字节数组
var byteArray = [];
// 将每两个十六进制字符转换为一个字节,并添加到字节数组中
for (var i = 0; i < hexString.length; i += 2) {
var byte = parseInt(hexString.substr(i, 2), 16);
byteArray.push(byte);
}
return byteArray;
}
// 示例用法
var hexString = "0x48656c6c6f20576f726c64"; // 十六进制字符串
var byteArray = hexStringToByteArray(hexString); // 转换为字节数组
console.log(byteArray); // 打印结果:[72, 101, 108, 108, 111, 32, 87, 111, 114, 108, 100]
```
在上述代码中,`hexStringToByteArray` 函数接受一个十六进制字符串作为输入,并将其转换为字节数组形式。函数首先去除字符串开头的 "0x" 前缀(如果有),然后通过循环将每两个十六进制字符解析为一个字节,并添加到字节数组中。最后,函数返回转换后的字节数组。
tron js库 十六进制字符串 转普通的字符串
在 JavaScript 中,可以使用 `Buffer` 对象将十六进制字符串转换为普通的字符串。具体步骤如下:
1. 将十六进制字符串转换为 `Uint8Array` 类型的数组
```javascript
const hexString = '68656c6c6f20776f726c64'; // 十六进制字符串
const uint8Array = new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16))); // 转换为 Uint8Array 类型的数组
```
2. 将 `Uint8Array` 类型的数组转换为普通的字符串
```javascript
const normalString = new TextDecoder().decode(uint8Array); // 转换为普通的字符串
console.log(normalString); // 输出:hello world
```
现在,你就可以将十六进制字符串转换为普通的字符串了。
阅读全文