当前位置:首页 > JavaScript

js实现hex解码

2026-03-16 02:07:52JavaScript

Hex 解码的实现方法

Hex 解码是将十六进制字符串转换为原始数据的过程。以下是几种在 JavaScript 中实现 Hex 解码的方法:

使用 Buffer(Node.js 环境)

在 Node.js 环境中,可以使用 Buffer 类直接解码十六进制字符串:

const hexString = '48656c6c6f20576f726c64'; // "Hello World" 的 Hex 编码
const buffer = Buffer.from(hexString, 'hex');
const decodedString = buffer.toString('utf8');
console.log(decodedString); // 输出: "Hello World"

使用 TextDecoder(浏览器环境)

在浏览器中,可以通过 TextDecoderUint8Array 实现 Hex 解码:

function hexDecode(hexString) {
    const bytes = new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16)));
    return new TextDecoder().decode(bytes);
}

const hexString = '48656c6c6f20576f726c64';
console.log(hexDecode(hexString)); // 输出: "Hello World"

手动转换(通用方法)

以下是一个通用的手动转换方法,适用于任何 JavaScript 环境:

function hexDecode(hexString) {
    let str = '';
    for (let i = 0; i < hexString.length; i += 2) {
        const byte = parseInt(hexString.substr(i, 2), 16);
        str += String.fromCharCode(byte);
    }
    return str;
}

const hexString = '48656c6c6f20576f726c64';
console.log(hexDecode(hexString)); // 输出: "Hello World"

使用 decodeURIComponentescape

另一种方法是结合 decodeURIComponentescape,但需要注意兼容性问题:

js实现hex解码

function hexDecode(hexString) {
    return decodeURIComponent(escape(hexString.replace(/\s+/g, '').replace(/../g, '%$&')));
}

const hexString = '48656c6c6f20576f726c64';
console.log(hexDecode(hexString)); // 输出: "Hello World"

注意事项

  • 确保输入的 Hex 字符串是有效的,长度应为偶数。
  • 如果 Hex 字符串包含非十六进制字符(如空格或其他符号),需要先进行清理。
  • 在浏览器环境中,Buffer 不可用,需使用其他方法。

以上方法可以根据具体需求选择使用。

标签: jshex
分享给朋友:

相关文章

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现二叉树

js实现二叉树

二叉树的基本概念 二叉树是一种树形数据结构,每个节点最多有两个子节点,分别称为左子节点和右子节点。二叉树的常见操作包括插入、删除、遍历等。 二叉树的节点定义 在JavaScript中,二叉树的节点可…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…

js实现目录

js实现目录

实现目录的基本思路 在JavaScript中实现目录功能通常涉及以下几个核心步骤:解析文档中的标题元素(如h1-h6),动态生成目录结构,并添加交互逻辑(如点击跳转)。以下是具体实现方法: 解析标题…

js实现交换

js实现交换

交换变量的方法 在JavaScript中,交换两个变量的值有多种方法。以下是常见的几种实现方式: 使用临时变量 通过引入一个临时变量来存储其中一个变量的值,实现交换: let a = 1; le…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <…