Hex 编码解码

免费在线 Hex 编码解码 工具。100% 本地计算,数据不离开您的设备,隐私安全有保障。

输出

结果将显示在这里...

输入 编码

使用指南

关于 Hex(十六进制)

Hex(Hexadecimal,十六进制)是一种使用 16 个字符(0-9, A-F)来表示二进制数据的编码方法。每个十六进制字符代表 4 位二进制数(0-15),因此每个字节(8 位)可以用 2 个十六进制字符表示。Hex 编码后的数据大小为原始数据的 200%,比 Base64 更大,但更易读和调试。Hex 广泛应用于颜色代码、MAC 地址、哈希值、内存地址等场景,是程序员最常用的编码方式之一。

程序员必备:Hex 是程序员最常用的编码方式,用于表示颜色(#FF5733)、哈希值(如 SHA-256)、MAC 地址、内存地址等。它的可读性和调试友好性使其成为开发和调试的首选。推荐作为调试和可读性场景的首选

使用步骤

Hex 编码和解码非常简单:

1. 编码输入文本或上传文件,点击「编码」按钮,获得 Hex 编码字符串
2. 解码输入 Hex 编码字符串,点击「解码」按钮,恢复原始数据
3. 复制结果点击「复制」按钮获取编码或解码后的结果
隐私保护:所有计算在浏览器本地高速完成,数据不会上传服务器,完全离线处理。

编码原理

Hex 编码将二进制数据转换为十六进制字符的过程:

1. 字节拆分将每个字节(8 位)拆分为两个 4 位的半字节(nibble)
2. 映射将每个半字节(0-15)映射到十六进制字符(0-9, A-F)
3. 拼接将所有十六进制字符拼接成字符串
示例:字节 0xFF(255)编码为 “FF”,字节 0x41(65,字符 'A')编码为 “41”。字符串 “Hello” 编码为 “48656C6C6F”

Hex 格式变体

Hex 编码有几种常见的格式变体:

大写使用大写字母 A-F(如 FF5733),最常见
小写使用小写字母 a-f(如 ff5733),同样常见
带前缀添加 0x 前缀(如 0xFF5733),表示十六进制数
带分隔符使用空格、冒号或连字符分隔(如 FF:57:33),常用于 MAC 地址

应用场景

Hex 广泛应用于需要可读性和调试友好性的场景:

颜色代码CSS 颜色(#FF5733)、RGB 值(rgb(255, 87, 51))
哈希值SHA-256、MD5 等哈希算法的输出通常使用 Hex 表示
MAC 地址网络设备的物理地址(如 00:1A:2B:3C:4D:5E)
内存地址程序调试时的内存地址(如 0x7FFF5FBFF000)
二进制文件查看和编辑二进制文件(Hex 编辑器)
UUID通用唯一标识符(如 550e8400-e29b-41d4-a716-446655440000)

常见问题

Q: Hex 和 Base64 有什么区别?

A: Hex 和 Base64 都是二进制数据的文本表示方式,但有不同的特点。Hex:1)使用 16 个字符(0-9, A-F)。2)编码后大小为原始数据的 200%。3)更易读,适合调试。Base64:1)使用 64 个字符(A-Z, a-z, 0-9, +, /)。2)编码后大小约为原始数据的 133%。3)更紧凑,适合传输。选择建议:1)需要可读性和调试:使用 Hex。2)需要紧凑传输:使用 Base64。3)加密算法输出:通常使用 Hex(如 SHA-256)。

Q: 为什么哈希值通常使用 Hex 表示?

A: 哈希算法(如 SHA-256 MD5)的输出是二进制数据,通常使用 Hex 表示。原因:1)可读性:Hex 比二进制更易读,便于人工比对。2)固定长度:SHA-256 输出 32 字节,Hex 表示为 64 个字符,长度固定。3)传统习惯:加密和哈希领域传统上使用 Hex。4)调试友好:开发者可以轻松复制、粘贴、比对哈希值。示例:SHA-256(“hello”) = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

Q: Hex 颜色代码是什么?

A: Hex 颜色代码是使用十六进制表示 RGB 颜色的方式,格式为 #RRGGBB格式:1)#RRGGBB:6 位十六进制,每 2 位表示一个颜色通道(红、绿、蓝)。2)#RGB:3 位简写,每位重复一次(如 #F00 = #FF0000)。示例:1)#FF0000:纯红色(R=255, G=0, B=0)。2)#00FF00:纯绿色(R=0, G=255, B=0)。3)#0000FF:纯蓝色(R=0, G=0, B=255)。4)#FFFFFF:白色。5)#000000:黑色。转换:Hex 颜色可以转换为 RGB(如 rgb(255, 87, 51))或 HSL(如 hsl(14, 100%, 60%))。

Q: MAC 地址为什么使用 Hex 表示?

A: MAC 地址(Media Access Control Address)是网络设备的物理地址,使用 Hex 表示。格式:6 个字节(48 位),通常用冒号或连字符分隔,如 00:1A:2B:3C:4D:5E00-1A-2B-3C-4D-5E原因:1)紧凑:6 字节用 12 个十六进制字符表示,比二进制(48 位)或十进制(14 位数字)更紧凑。2)可读:Hex 比二进制更易读,便于人工识别和输入。3)标准:IEEE 802 标准规定使用 Hex 表示 MAC 地址。示例00:1A:2B:3C:4D:5E 表示 MAC 地址为 0x001A2B3C4D5E

Q: 如何在 JavaScript 中使用 Hex?

A: JavaScript 提供了多种方法处理 Hex 编码。字符串转 Hex
const str = 'Hello'; const hex = Array.from(str).map(c => c.charCodeAt(0).toString(16).padStart(2, '0')).join(''); // 结果: '48656c6c6f'
Hex 转字符串
const hex = '48656c6c6f'; const str = hex.match(/.{1,2}/g).map(byte => String.fromCharCode(parseInt(byte, 16))).join(''); // 结果: 'Hello'
数字转 Hexconst hex = (255).toString(16); // 'ff'
Hex 转数字const num = parseInt('ff', 16); // 255

Q: Hex 编辑器是什么?

A: Hex 编辑器(Hex Editor)是一种用于查看和编辑二进制文件的工具,以十六进制格式显示文件内容。功能:1)查看二进制文件:以 Hex 格式显示文件的每个字节。2)编辑二进制文件:直接修改文件的字节值。3)搜索和替换:在二进制文件中搜索特定的字节序列。4)文件分析:分析文件结构、查找文件头、识别文件类型。应用场景:1)逆向工程:分析可执行文件、固件。2)数据恢复:修复损坏的文件。3)游戏修改:修改游戏存档、配置。4)安全研究:分析恶意软件。常用工具:HxD(Windows)、Hex Fiend(macOS)、xxd(Linux 命令行)。

使用场景

推荐:CSS 颜色代码

Hex 颜色代码是 CSS 中最常用的颜色表示方式,格式为 #RRGGBB。每 2 位十六进制表示一个颜色通道(红、绿、蓝),取值范围 00-FF(0-255)。Hex 颜色代码简洁、易读,是 Web 开发的标准。现代 CSS 还支持 8 位 Hex 颜色(#RRGGBBAA),最后 2 位表示透明度(Alpha 通道)。

推荐配置:
  • ✅ 标准 6 位 Hex(#FF5733)
  • ✅ 3 位简写(#F00 = #FF0000)
  • ✅ 8 位 Hex 带透明度(#FF573380)
  • 💡 使用颜色选择器工具生成 Hex 颜色
  • 💡 考虑使用 CSS 变量管理颜色
推荐:哈希值表示

加密哈希算法(如 SHA-256 MD5)的输出通常使用 Hex 表示。Hex 格式的哈希值易于阅读、复制、粘贴和比对,是文件完整性验证、数字签名、密码存储等场景的标准格式。例如,Git 使用 SHA-1 哈希值(40 位 Hex)标识提交,区块链使用 SHA-256 哈希值(64 位 Hex)标识区块。

推荐配置:
  • ✅ 文件完整性验证(SHA-256)
  • ✅ Git 提交 ID(SHA-1)
  • ✅ 区块链区块哈希(SHA-256)
  • ✅ 密码哈希(bcrypt、Argon2)
  • 💡 使用小写 Hex 以保持一致性
推荐:MAC 地址和网络标识

MAC 地址(物理地址)使用 6 字节(48 位)Hex 表示,格式为 XX:XX:XX:XX:XX:XXXX-XX-XX-XX-XX-XX。MAC 地址用于网络设备的唯一标识,前 3 字节为厂商标识(OUI),后 3 字节为设备序列号。类似的,IPv6 地址也使用 Hex 表示(如 2001:0db8:85a3:0000:0000:8a2e:0370:7334)。

推荐配置:
  • ✅ MAC 地址(00:1A:2B:3C:4D:5E)
  • ✅ IPv6 地址(2001:db8::1)
  • ✅ 网络设备标识
  • 💡 使用冒号分隔提高可读性
推荐:UUID 和唯一标识符

UUID(Universally Unique Identifier,通用唯一标识符)使用 Hex 表示,格式为 xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx(32 位 Hex + 4 个连字符)。UUID 用于生成全局唯一的标识符,广泛应用于数据库主键、分布式系统、文件系统等场景。UUID 有多个版本(v1-v5),其中 v4(随机生成)最常用。

推荐配置:
  • ✅ 数据库主键
  • ✅ 分布式系统 ID
  • ✅ 文件系统标识
  • ✅ API 请求 ID
  • 💡 使用 UUID v4(随机)或 v7(时间戳)
推荐:二进制文件分析

使用 Hex 编辑器查看和编辑二进制文件是逆向工程、数据恢复、安全研究的常用方法。Hex 编辑器以十六进制格式显示文件的每个字节,便于分析文件结构、查找文件头、识别文件类型。例如,PNG 文件以 89 50 4E 47(.PNG)开头,JPEG 文件以 FF D8 FF 开头。

推荐配置:
  • ✅ 逆向工程(分析可执行文件)
  • ✅ 数据恢复(修复损坏文件)
  • ✅ 文件格式分析
  • ✅ 安全研究(分析恶意软件)
  • 💡 使用专业 Hex 编辑器(HxD、Hex Fiend)
推荐:内存地址和调试

程序调试时,内存地址通常使用 Hex 表示(如 0x7FFF5FBFF000)。Hex 格式的内存地址易于阅读和比对,是调试器(如 GDB、LLDB、WinDbg)的标准格式。开发者可以使用 Hex 地址查看内存内容、设置断点、分析程序行为。

推荐配置:
  • ✅ 调试器(GDB、LLDB、WinDbg)
  • ✅ 内存转储分析
  • ✅ 指针和地址计算
  • ✅ 汇编语言开发
  • 💡 使用 0x 前缀表示十六进制数

最佳实践建议

  • Hex 编码后数据大小为原始数据的 200%,不适合大文件传输,应使用 Base64 或二进制传输。
  • 哈希值通常使用小写 Hex 表示,以保持一致性(如 Git、区块链)。
  • CSS 颜色代码使用大写 Hex(#FF5733)更常见,但小写(#ff5733)也可以。
  • MAC 地址使用冒号分隔(00:1A:2B:3C:4D:5E)比连字符(00-1A-2B-3C-4D-5E)更常见。
  • 在 JavaScript 中,使用 toString(16) 将数字转换为 Hex,使用 parseInt(hex, 16) 将 Hex 转换为数字。
  • Hex 编辑器是分析二进制文件的强大工具,但需要了解文件格式和字节序(大端/小端)。

讨论与反馈

0 条评论