当前位置:首页 > JavaScript

js实现hex解码

2026-02-03 01:33:00JavaScript

Hex 解码的实现方法

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

使用 Buffer(Node.js 环境)

在 Node.js 环境中,可以使用 Buffer 类来实现 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 解码:

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)。

js实现hex解码

标签: jshex
分享给朋友:

相关文章

vue实现js休眠

vue实现js休眠

Vue 中实现 JavaScript 休眠 在 Vue 中实现 JavaScript 休眠通常需要使用异步方式,以避免阻塞主线程。以下是几种常见方法: 使用 setTimeout 和 Promis…

js实现文件下载

js实现文件下载

使用 a 标签下载文件 通过动态创建 a 标签并设置 download 属性实现文件下载。适用于已知文件 URL 或 Blob 数据的情况。 function downloadFile(url,…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js 实现继承

js 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Pa…

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('imag…

js实现乘

js实现乘

JavaScript 实现乘法运算 在 JavaScript 中实现乘法运算可以通过多种方式完成,包括基本运算符、函数封装以及高级算法(如大数乘法)。以下是几种常见方法: 使用基本乘法运算符 Ja…