十六進位轉換器
免費線上進位轉換器,支援十六進位、十進位、二進位、八進位以及 2-36 進位之間的即時互轉。支援小數,採用 Decimal.js 高精度演算法,無需註冊,瀏覽器本機執行。
相關推薦
什麼是十六進位轉換器?
十六進位轉換器是一種在不同進位制(基數)之間轉換數字的工具。最常見的是十六進位(base-16)、十進位(base-10)、二進位(base-2)和八進位(base-8)之間的互轉。
十六進位使用 16 個符號:0-9 表示 0 到 9,A-F 表示 10 到 15。一個十六進位位元對應 4 個二進位位元,兩個十六進位位元表示一個位元組(00 到 FF = 0 到 255)。
二進位(base-2)只使用 0 和 1;八進位(base-8)使用 0-7;十進位(base-10)是人類日常使用的數字系統。
本轉換器支援 2 到 36 進位,超過 10 的進位使用字母 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),十進位結果即時顯示。例如 FF = 255。
如何將十進位轉換為十六進位?
選擇十進位(base-10),輸入十進位數字(如 255),十六進位結果即時顯示。例如 255 = FF。
如何將二進位轉換為十六進位?
選擇二進位(base-2),輸入二進位字串(如 11111111),十六進位結果立即顯示。每 4 個二進位位元對應 1 個十六進位位元。
支援小數轉換嗎?
支援。使用 Decimal.js 高精度演算法,小數部分最多保留 20 位有效數字。
支援負數轉換嗎?
支援。在輸入數字前加上負號(-)即可。
十六進位和 Base64 編碼有什麼區別?
十六進位使用 16 個符號,每組元組產生 2 個字元;Base64 使用 64 個符號更緊湊。十六進位常用於除錯和顏色碼;Base64 常用於資料傳輸。
為什麼程式設計中使用十六進位?
因為它提供了二進位資料的人類可讀表示。1 個十六進位位元 = 4 個位元,2 個十六進位位元 = 1 個位元組,方便閱讀記憶體位址和顏色碼。
資料安全嗎?會上傳到伺服器嗎?
安全。所有轉換在瀏覽器本機執行,不會上傳到伺服器,可離線使用。
什麼是「進位」或「基數」?
進位(基數)是一個數字系統中使用的不同數字符號數量。例如二進位使用 2 個數字,十進位使用 10 個數字。
為什麼十六進位及以上進位使用字母?
當進位超過 10 時需要更多符號,使用字母 a-z。十六進位中 A=10 到 F=15。
轉換大數會丟失精度嗎?
不會。使用 Decimal.js 高精度算術,避免浮點精度問題。
Privacy & Security
所有進位轉換完全在瀏覽器本機執行,不會傳輸到任何伺服器,不儲存或分析任何資料。
- 色盲模擬器
- 色彩轉換器
- .htaccess 轉 Nginx 轉換器
- SQL 轉換器
- Cookie 解析器
- Cron 表達式產生器
- Cron 表達式驗證器
- CSS 格式化
- CSS 壓縮
- CSV 轉 Excel
- 貨幣轉換器
- 差異檢查器
- 網站圖示產生器
- XML 格式化
- 十六進位轉換器
- HTML 格式化
- HTML 壓縮
- HTML 轉 Markdown
- Markdown 轉 HTML
- JavaScript 格式化工具
- JS 壓縮
- JSX 格式化工具
- JSX 壓縮
- 關鍵字聚類
- Lorem Ipsum 產生器
- Markdown 表格產生器
- Meta Tag 產生器
- 密碼產生器
- 密碼強度檢測工具
- QR Code/條碼產生器
- 正規表達式測試器
- Slug 產生器
- SQL 產生器
- SQL 格式化工具
- 字數統計
- 時間工具
- TS 格式化
- TS 壓縮
- TSX 格式化
- TSX 壓縮
- Unix 時間戳轉換
- UUID 產生器
- YAML 格式化
- 大小寫轉換器