当前位置:首页 > JavaScript

js实现hex解码

2026-02-03 01:33:00JavaScript

Hex 解码的实现方法

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

使用 Buffer(Node.js 环境)

在 Node.js 环境中,可以使用 Buffer 类来实现 Hex 解码:

js实现hex解码

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

使用 TextDecoder(浏览器环境)

在浏览器环境中,可以使用 TextDecoderUint8Array 实现 Hex 解码:

js实现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"

手动解析 Hex 字符串

如果不依赖环境 API,可以通过手动解析实现:

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

此方法适用于编码后的 Hex 字符串(如 URL 编码):

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

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

注意事项

  1. 输入验证:确保 Hex 字符串长度为偶数,否则需要补零或处理异常。
  2. 编码格式:明确目标编码(如 UTF-8、ASCII),避免解码后乱码。
  3. 性能优化:对于大字符串,手动解析可能较慢,建议使用原生 API(如 BufferTextDecoder)。

标签: jshex
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现选题

js实现选题

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

js钟表实现

js钟表实现

实现JavaScript钟表的基本方法 创建一个简单的JavaScript钟表可以通过以下步骤完成,涵盖数字和模拟两种形式。 数字钟表实现 HTML结构只需一个显示时间的容器: <div i…

节流js实现

节流js实现

节流(Throttle)的实现原理 节流是一种限制函数执行频率的技术,确保函数在一定时间间隔内最多执行一次。适用于高频触发事件(如滚动、输入、窗口调整等)的场景。 基础实现方式 使用时间戳判断是否执…

js实现正交

js实现正交

正交的概念 正交在数学和计算机科学中通常指两个向量垂直或线性无关。在编程中,正交性常被用于设计模块化、低耦合的系统。 向量正交判断 判断两个向量是否正交可以通过点积是否为0来实现: functio…