十六進位轉換器

输入数值
示例:
2二进制
11111111.01010111111010110100
8八进制
377.25765515602517626145
10十进制
255.3434342
16十六进制
ff.57eb4dc153f2c65b9983

免費線上進位轉換器,支援十六進位、十進位、二進位、八進位以及 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 值之間快速轉換

使用方法

  1. 在頁面頂部的輸入框中輸入數值
  2. 透過下拉選單選擇輸入數值的進位(基數),可從二進位(2)到三十六進位(36)
  3. 即時檢視二進位、八進位、十進位、十六進位等所有進位的轉換結果
  4. 點擊任意結果卡片可將輸入切換到該進位繼續轉換
  5. 點擊結果卡片右上角的複製圖示可複製對應進位的數值
  6. 展開「其他進位(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

所有進位轉換完全在瀏覽器本機執行,不會傳輸到任何伺服器,不儲存或分析任何資料。