hex转字符串 js
时间: 2023-08-14 22:14:18 浏览: 54
在 JavaScript 中,你可以使用 `parseInt` 函数将十六进制转换为整数,然后使用 `String.fromCharCode` 函数将整数转换为对应的字符。以下是一个示例代码:
```javascript
function hexToString(hex) {
let str = '';
for (let i = 0; i < hex.length; i += 2) {
let hexPair = hex.substr(i, 2);
let decimal = parseInt(hexPair, 16);
str += String.fromCharCode(decimal);
}
return str;
}
// 示例用法
let hexValue = "48656c6c6f20576f726c64"; // 十六进制字符串
let stringValue = hexToString(hexValue);
console.log(stringValue);
```
上述代码将打印出 "Hello World"。请注意,输入的十六进制字符串应该没有前缀 "0x"。
相关问题
JavaScript 字符串IP地址转HEX
十六进制表示的 IP 地址可以通过 JavaScript 中的 `parseInt()` 函数将 IP 地址字符串转换为数字,然后使用 `toString(16)` 函数将其转换为十六进制字符串。以下是一个示例代码:
```javascript
function ipToHex(ip) {
var parts = ip.split('.');
var hex = '';
for (var i = 0; i < 4; i++) {
var part = parseInt(parts[i]);
hex += (part < 16 ? '0' : '') + part.toString(16);
}
return hex;
}
console.log(ipToHex('192.168.0.1')); // 输出 c0a80001
```
注意,这个函数只适用于 IPv4 地址,对于 IPv6 地址需要使用不同的方法。
ArrayBuffer如何转换成hex字符串?
ArrayBuffer可以通过DataView对象来访问和操作二进制数据,然后将二进制数据转换成hex字符串。下面是一个将ArrayBuffer转换成hex字符串的示例代码:
```javascript
function arrayBufferToHex(buffer) {
const hexCodes = [];
const view = new DataView(buffer);
for (let i = 0; i < buffer.byteLength; i += 4) {
const value = view.getUint32(i);
const stringValue = value.toString(16);
const padding = '00000000';
const paddedValue = (padding + stringValue).slice(-padding.length);
hexCodes.push(paddedValue);
}
return hexCodes.join("");
}
// 创建一个长度为8的ArrayBuffer
const buffer = new ArrayBuffer(8);
// 将ArrayBuffer转换成hex字符串
const hexString = arrayBufferToHex(buffer);
console.log(hexString);
```
在上面的示例中,首先创建了一个长度为8的ArrayBuffer对象。然后定义了一个arrayBufferToHex函数,该函数将ArrayBuffer转换成hex字符串。该函数通过DataView对象来访问ArrayBuffer中的二进制数据,然后将每个32位整数转换成16进制字符串,并使用字符串填充将其补齐到8位。最后将所有的16进制字符串连接在一起,得到一个完整的hex字符串。
需要注意的是,上面的示例中假设ArrayBuffer中的数据是32位的整数。如果ArrayBuffer中的数据类型不同,需要相应地调整读取和转换的方式。