十六进制转换器
免费在线进制转换器,支持十六进制、十进制、二进制、八进制以及 2-36 进制之间的即时互转。支持小数,采用 Decimal.js 高精度算法,无需注册,浏览器本地运行。
相关推荐
什么是十六进制转换器?
十六进制转换器是一种在不同进位制(基数/进制)之间转换数字的工具。最常见的转换包括十六进制(base-16)、十进制(base-10)、二进制(base-2)和八进制(base-8)之间的互转。不同的进制使用不同的数字符号集来表示同一个数值。
十六进制使用 16 个符号:0-9 表示数值 0 到 9,A-F(或 a-f)表示数值 10 到 15。它在计算机领域被广泛使用,因为一个十六进制位恰好对应 4 个二进制位(半字节),可以紧凑地表示二进制数据。两个十六进制位表示一个字节(00 到 FF = 0 到 255)。
二进制(base-2)只使用 0 和 1,是计算机的基础语言。八进制(base-8)使用数字 0-7,历史上在计算机领域使用较多。十进制(base-10)是人类日常使用的标准数字系统,使用数字 0-9。
本转换器支持从 2 到 36 的所有进制。超过 10 的进制使用字母 a-z 表示 9 以上的数字(例如 36 进制使用 0-9 和 a-z)。同时支持负数和小数,采用高精度算术运算确保准确。
适用场景
- 将 #FF5733 等十六进制颜色代码转换为 RGB 十进制值,用于网页开发
- 调试时将内存地址和十六进制转储转换为可读的十进制数值
- 将网络数据包的二进制数据转换为十六进制或十进制进行协议分析
- 计算机科学课程中的进制转换学习和练习
- 将编程日志中的十六进制值转换为十进制或二进制
- 在 Unix 文件权限的八进制和十进制 chmod 值之间快速转换
使用方法
- 在页面顶部的输入框中输入一个数值
- 通过下拉选择框选择输入数值的进制(基数),可选择从二进制(2)到三十六进制(36)
- 即时查看二进制、八进制、十进制、十六进制等所有进制的转换结果
- 点击任意结果卡片可将输入切换到该进制,继续进行转换
- 点击结果卡片右上角的复制图标可将对应进制的数值复制到剪贴板
- 展开「其他进制(2-36)」可查看 2 到 36 进制的全部转换结果
功能特点
- 支持 2 到 36 进制之间互转:二进制(2)、八进制(8)、十进制(10)、十六进制(16)等全部覆盖
- 基于 Decimal.js 高精度计算,整数和小数转换精确无误
- 输入即转换,实时显示结果,无需点击按钮
- 每种进制结果都配有一键复制按钮
- 支持负数和小数转换,小数部分最多保留 20 位
- 完全在浏览器本地运行,数据不上传服务器,无需注册
进制编码对比:该用哪种?
二进制、八进制、十进制、十六进制以及 Base64 各有适用场景。选错要么占用空间翻倍、要么容易写错、要么 URL 兼容性问题。先看「输出给谁看、放在哪里、需要多紧凑」,再选具体编码。
二进制 vs 八进制 vs 十进制 vs 十六进制:典型应用场景
4 种常用进制在工程中各占一席,按「典型场景 / 紧凑度 / 人类可读 / 注意点」决策比按数字本身更靠谱。
| 进制 | 典型场景 | 紧凑度 | 人类可读 | 注意点 |
|---|---|---|---|---|
二进制 (base-2) | 底层硬件、位掩码、布尔协议、协议字段 | 极低(1 bit / 字符) | 极差(人眼难识别) | 几乎从不直接呈现给用户,常在底层被十六进制替代 |
八进制 (base-8) | Unix 文件权限(chmod 755)、历史 PDP-11 汇编 | 较低(3 bit / 字符) | 中等(短数字易读,长度稍长) | 现代应用很少用;Python 2 的 `0o755` 在 Python 3 仍可用但已不主流 |
十进制 (base-10) | 用户输入输出、业务逻辑、配置参数 | 中(≈3.32 bit / 字符) | 最佳(人类自然语言) | 压缩率不如十六进制;调试二进制数据时需先转换 |
十六进制 (base-16) | 颜色码、内存地址、字节流、MAC/UUID、字节码 | 高(4 bit / 字符,1 字节 = 2 字符) | 好(紧凑 + 字节边界对齐) | 注意大小写一致性(A-F vs a-f)和 0x 前缀歧义 |
十六进制 vs Base64 编码:该用哪个?
十六进制与 Base64 都是字节的文本表示,但适用场景完全不同。按「目标介质 / 紧凑度 / 人类可读 / URL 兼容」决策能避免大量返工。
| 维度 | 十六进制 | Base64 |
|---|---|---|
字符集 | 0-9 + A-F(16 个) | A-Z + a-z + 0-9 + + / (64 个) |
每字节字符数 | 2 字符 / 字节 | ≈1.33 字符 / 字节 |
紧凑度 | 中等(1 字节 → 2 字符) | 高(3 字节 → 4 字符) |
URL 安全 | ✅ 完全 URL 安全 | ❌ 标准 Base64 含 + 和 /,需用 URL-safe Base64 变体 |
人类可读 | 好(调试、二进制 dump 友好) | 差(随机字符,难识别边界) |
适合场景 | 颜色码、内存地址、MAC、UUID、调试日志、二进制文件预览 | 数据 URI、邮件附件(MIME)、API token、JWT、嵌入图片到 CSS/HTML |
不适合场景 | URL 参数过长(用 base64url 替代)、数据 URI(体积翻倍) | 调试日志(看不清字段边界)、颜色码(不能直接给 CSS) |
最佳实践
十六进制字母大小写必须统一(A-F vs a-f)
同一个项目内,十六进制字母要么全大写、要么全小写,**绝对不能混用**。C/C++/Go/HTML 颜色码习惯用大写 A-F;JSON、URL、UUID(RFC 4122)、以太坊地址、JavaScript 字符串习惯用小写 a-f。混用大小写不会改变数值,但跨语言解析(如 `int('FF', 16)` vs `int('ff', 16)`)和人类阅读都会踩坑——日志里「FF5733」和「ff5733」人眼难辨,调试时极易误判。
什么是十六进制?明确标注 0x 前缀或文档化为无符号十进制
JSON、URL 参数、API 字段中的数字默认是十进制。JSON 里的字符串 "100" 是十进制 100,但 "0x100" 才是十六进制 256。**必须**显式标注 0x 前缀(或在字段名中加 `hex` 后缀),否则后端解析时按十进制读取会得到错误结果(100 vs 256 差 2.56 倍)。批量对接多家供应商的 API 时,强烈建议在协议文档里固定:所有 hex 字段一律加 0x 前缀。
为什么十六进制及以上进制使用字母?字节序(Big/Little-endian)转换时务必显式声明
网络协议、文件格式、硬件寄存器几乎都强制字节序——网络字节序是大端(Big-endian),x86/ARM CPU 默认是小端(Little-endian)。**读取和写入时务必显式指定字节序**,否则同一个 16 进制数字 `0x1234` 在不同字节序下被解释成 `0x1234` 或 `0x3412`,差 4 倍。Python 用 `int.from_bytes(b, 'big')` / `'little'`、Go 用 `binary.BigEndian` / `binary.LittleEndian`、C 用 `htonl/htons/ntohl/ntohs`,切勿凭直觉写。
如何将十进制转换为十六进制?MAC 地址、UUID、哈希值统一使用小写
RFC 4122 明确规定 UUID 必须小写;IEEE 802 MAC 地址标准约定小写;以太坊地址、git commit hash、TLS 指纹、文件 SHA-256 哈希几乎全部默认小写。**批量输出十六进制标识符时统一用小写**,能避免 Linux/Mac/Windows 之间的复制粘贴差异(Windows 剪贴板偶尔会改大小写)。日志系统、CMS、配置中心都按小写做去重和索引,混大小写会被当成两个不同条目。
RFC 4122 - UUID 标准颜色码转换注意是否含 alpha 通道
CSS 颜色码 `#FF5733` 是 6 位 RGB;`#FF573380` 是 8 位 RGBA(最后两位 80 = alpha 50%);短格式 `#F53` 等价 `#FF5533`。本工具转换时只处理数值部分,**alpha 通道需要单独处理**。批量把设计稿颜色应用到代码时,建议先按长度分组(6 位 vs 8 位),不要把 8 位 RGBA 误认为 6 位 RGB(会丢 alpha 导致透明色变实色)。
RGB/HEX 颜色转换器IPv6 地址和 MAC 地址转换时不要丢失分隔符
IPv6 地址是 32 位十六进制 + 7 个冒号分组(`2001:0db8:85a3:0000:0000:8a2e:0370:7334`),MAC 地址是 12 位十六进制 + 5 个冒号或连字符(`00:1A:2B:3C:4D:5E`)。**用本工具转换裸十六进制字符串时**:`20010db8...` 转十进制后是巨大数(IPv6 完整地址约 3.4×10³⁸),还原时必须重新按 4/2 位分组加冒号。批量处理 IPv6/MAC 的场景建议用专用工具(`/other/color-convert/` 旁的网络工具),不要直接用本工具做端到端转换。
支持哪些进制之间的转换?不要把十六进制字符串当作密码或敏感凭据
「32 位十六进制」看起来像高强度密码(`a3f8b9c2d1e0f7a6b5c4d3e2f1a0b9c8`),实际熵值只有 16 字节 = 128 bit,看似不错,但**十六进制表示往往就是密钥/Token 本身**——API Key、JWT secret、对称加密密钥、TOTP secret、加密钱包私钥、HMAC key 全部是十六进制字符串。这些值一旦泄露等于裸奔,**绝不能**贴在工单、Slack、邮件、截图里,更不能用在线工具(哪怕声称本地处理)做转换。本工具是格式转换工具,不适合处理任何带密钥语义的十六进制串。
数据安全吗?会上传到服务器吗?常见问题
支持哪些进制之间的转换?
本转换器支持从二进制(base-2)到三十六进制(base-36)的所有整数进制。最常用的二进制、八进制、十进制和十六进制以快捷卡片形式展示,展开「其他进制」可查看所有进制的结果。
如何将十六进制转换为十进制?
通过下拉框选择十六进制(base-16)作为输入进制,然后输入你的十六进制数值(如 FF、A3、1A2B),十进制结果会实时显示在十进制结果卡片中。例如,十六进制 FF 转换为十进制是 255。
如何将十进制转换为十六进制?
确保选择十进制(base-10)作为输入进制,然后输入你的十进制数字(如 255、1024、65535),十六进制结果会实时显示在十六进制卡片中。例如,十进制 255 转换为十六进制是 FF。
如何将二进制转换为十六进制?
选择二进制(base-2)作为输入进制,输入二进制字符串(如 11111111),十六进制结果会立即显示。每 4 个二进制位对应 1 个十六进制位,因此 11111111(8位)= FF(十六进制)。
支持小数转换吗?
支持。转换器支持如 3.14 或 FF.8 这样的小数输入。小数部分使用 Decimal.js 高精度算法计算,最多保留 20 位有效数字,避免了标准 JavaScript 浮点数运算常见的精度问题。
支持负数转换吗?
支持。在输入数字前加上负号(-)即可,例如 -255 或 -FF。转换器会在所有进制中正确处理负数。
十六进制和 Base64 编码有什么区别?
十六进制使用 16 个符号(0-9, A-F),每字节产生 2 个字符;Base64 使用 64 个符号(A-Z, a-z, 0-9, +, /),每 3 字节产生约 4 个字符,更紧凑。十六进制常用于调试、颜色码和内存地址;Base64 常用于数据 URI、邮件附件和 API 数据传输。如需 Base64 转换,请使用我们的十六进制转 Base64 工具。
为什么编程中使用十六进制?
十六进制被使用是因为它提供了二进制数据的人类可读表示。1 个十六进制位 = 4 个比特,2 个十六进制位 = 1 个字节。这使得阅读内存地址、颜色码(#FF5733)、MAC 地址、字符编码和二进制文件内容变得容易,无需面对冗长的 0 和 1 字符串。
数据安全吗?会上传到服务器吗?
安全。所有转换完全在浏览器中使用 JavaScript 本地运行,输入的数字不会离开你的设备。没有服务器端处理,没有数据存储,也不会追踪你的输入。页面加载后可离线使用。
什么是「进制」或「基数」?
进制(也称基数)是一个数字系统中使用的不同数字符号的数量。二进制(base-2)使用 2 个数字(0,1);十进制(base-10)使用 10 个数字(0-9);十六进制(base-16)使用 16 个符号(0-9, A-F)。同一个数值在不同进制中表示不同,例如十进制 255 在十六进制中是 FF,在二进制中是 11111111。
为什么十六进制及以上进制使用字母?
当进制超过 10 时,我们需要超过 10 个符号(0-9)。字母 a-z(或 A-Z)被用作额外的数字。在十六进制中,A=10, B=11, C=12, D=13, E=14, F=15。在 36 进制中,使用全部 0-9 数字加上 a-z 字母来表示 0-35 的值。
转换大数会丢失精度吗?
不会。本转换器使用 Decimal.js 进行任意精度的十进制算术运算,避免了标准 JavaScript Number 类型在处理非常大整数时的浮点精度问题。超出 Decimal.js 表示范围的极大数字可能显示为 Infinity,但所有实际编程和学习场景中的数字都能精确处理。
Privacy & Security
所有进制转换完全在浏览器本地运行,输入的数字使用 JavaScript 在本地处理,不会传输到任何服务器。不存储、不记录、不分析任何数据,页面加载后可离线使用。
- 色盲模拟器
- 颜色转换器
- .htaccess 转 Nginx 转换器
- SQL 转换器
- Cookie 解析器
- Cron 表达式工作台
- Cron 表达式验证器
- CSS 格式化
- CSS 压缩
- CSV 转 Excel
- CSV Viewer
- CSV Editor
- 货币转换器
- 差异检查器
- Excel to CSV
- 网站图标生成器
- CSS Formatter
- HTML Formatter
- Markdown Formatter
- XML 格式
- 十六进制转换器
- HTML 格式
- HTML 压缩
- HTML 转 Markdown
- Markdown 转 HTML
- JavaScript 格式化
- JS 压缩
- JSX 格式化工具
- JSX 压缩
- 关键词聚类
- Lorem Ipsum 生成器
- Markdown 表格生成器
- Meta Tag 生成器
- 密码生成器
- 密码强度检测工具
- 二维码/条形码生成器
- 正则表达式测试器
- Slug 生成器
- SQL 生成器
- SQL 格式化工具
- 字数统计
- 时间工具
- TS 格式
- TS 压缩
- TSX 格式化
- TSX 压缩
- Unix 时间戳转换
- UUID 生成器
- YAML 格式化
- 大小写命名风格转换器