ตัวแปลงเลขฐานสิบหก
ตัวแปลงฐานเลขออนไลน์ฟรี แปลงทันทีระหว่างเลขฐานสิบหก ทศนิยม ไบนารี ฐานแปด และทุกฐานตั้งแต่ 2 ถึง 36 รองรับเลขเศษส่วนด้วยการคำนวณ Decimal.js ความแม่นยำสูง ไม่ต้องสมัครสมาชิก ทำงานทั้งหมดในเบราว์เซอร์ของคุณ
คำแนะนำที่เกี่ยวข้อง
ตัวแปลงเลขฐานสิบหกคืออะไร?
ตัวแปลงเลขฐานสิบหกคือเครื่องมือที่แปลงตัวเลขระหว่างระบบเลขเชิงตำแหน่งต่างๆ การแปลงที่พบบ่อยที่สุดคือระหว่างฐานสิบหก (ฐาน-16), ทศนิยม (ฐาน-10), ไบนารี (ฐาน-2), และฐานแปด (ฐาน-8)
ฐานสิบหกใช้สัญลักษณ์ 16 ตัว: 0-9 สำหรับค่า 0 ถึง 9 และ A-F สำหรับค่า 10 ถึง 15 เลขฐานสิบหกหนึ่งหลักสอดคล้องกับเลขไบนารี 4 หลักพอดี (หนึ่งนิบเบิล) เลขฐานสิบหกสองหลักแสดงหนึ่งไบต์ (00 ถึง FF = 0 ถึง 255)
ไบนารี (ฐาน-2) ใช้เฉพาะ 0 และ 1 ฐานแปด (ฐาน-8) ใช้ตัวเลข 0-7 ทศนิยม (ฐาน-10) คือระบบเลขมาตรฐานของมนุษย์ที่ใช้ตัวเลข 0-9
ตัวแปลงนี้รองรับทุกฐานตั้งแต่ 2 ถึง 36 ฐานที่สูงกว่า 10 ใช้ตัวอักษร a-z เป็นตัวเลขเพิ่มเติมหลังจาก 9 นอกจากนี้ยังรองรับจำนวนลบและค่าเศษส่วนอีกด้วย
กรณีการใช้งาน
- แปลงรหัสสี hex เช่น #FF5733 เป็นค่าทศนิยม RGB สำหรับการพัฒนาเว็บ
- แปลงที่อยู่หน่วยความจำและ hex dump เป็นค่าทศนิยมที่อ่านได้ขณะดีบัก
- แปลข้อมูลแพ็กเกจเครือข่ายไบนารีเป็น hex หรือทศนิยมสำหรับการวิเคราะห์โปรโตคอล
- เรียนรู้และฝึกฝนการแปลงระบบเลขสำหรับวิชาวิทยาการคอมพิวเตอร์
- แปลงค่าฐานสิบหกจากบันทึกการเขียนโปรแกรมเป็นทศนิยมหรือไบนารี
- แปลงอย่างรวดเร็วระหว่างสิทธิ์ไฟล์ Unix ฐานแปดและค่า chmod ทศนิยม
วิธีการใช้งาน
- ป้อนตัวเลขในช่องป้อนข้อมูลที่ด้านบนของเครื่องมือ
- เลือกฐาน (เรดิกซ์) ของตัวเลขที่ป้อนโดยใช้เมนูแบบเลื่อนลง — เลือกตั้งแต่ไบนารี (2) ถึงฐาน-36
- ดูผลลัพธ์การแปลงทันทีสำหรับไบนารี ฐานแปด ทศนิยม ฐานสิบหก และอื่นๆ
- คลิกการ์ดผลลัพธ์ใดๆ เพื่อสลับอินพุตไปยังฐานนั้นและแปลงต่อ
- คลิกไอคอนคัดลอกบนการ์ดผลลัพธ์ใดๆ เพื่อคัดลอกค่าที่แปลงแล้วไปยังคลิปบอร์ด
- ขยาย 'ฐานอื่นๆ (2-36)' เพื่อดูผลลัพธ์สำหรับทุกฐานตั้งแต่ 2 ถึง 36
คุณสมบัติ
- รองรับทุกฐานเลขตั้งแต่ 2 ถึง 36: ไบนารี (2), ฐานแปด (8), ทศนิยม (10), ฐานสิบหก (16) และอื่นๆ
- การแปลงความแม่นยำสูงขับเคลื่อนโดย Decimal.js — จัดการจำนวนเต็มและเลขเศษส่วนได้อย่างถูกต้อง
- ผลลัพธ์แบบเรียลไทม์ทันทีขณะที่คุณพิมพ์ — ไม่จำเป็นต้องคลิกปุ่ม
- คัดลอกด้วยคลิกเดียวสำหรับผลลัพธ์การแปลงแต่ละรายการ
- รองรับจำนวนลบและเศษทศนิยม (สูงสุด 20 ตำแหน่งทศนิยม)
- ทำงาน 100% ในเบราว์เซอร์ของคุณ — ไม่มีข้อมูลถูกอัปโหลด ไม่ต้องลงทะเบียน
เปรียบเทียบการเข้ารหัสฐาน: ควรใช้อันไหน?
ไบนารี ฐานแปด ทศนิยม ฐานสิบหก และ Base64 มีสถานการณ์ที่เหมาะสมแตกต่างกัน การเลือกผิดอาจทำให้ขนาดเพิ่มขึ้นเท่าตัว เกิดข้อผิดพลาดในการพิมพ์ หรือเกิดปัญหาความเข้ากันได้กับ URL พิจารณาก่อนว่า 「ใครเป็นคนดู วางไว้ที่ไหน ต้องกระชับแค่ไหน」 แล้วจึงเลือกการเข้ารหัสเฉพาะ
ไบนารี vs ฐานแปด vs ทศนิยม vs ฐานสิบหก: สถานการณ์การใช้งานทั่วไป
ฐานที่ใช้กันทั่วไป 4 แบบต่างมีบทบาทของตัวเอง การตัดสินใจโดยใช้ 「สถานการณ์ทั่วไป / ความกระชับ / ความอ่านง่ายของมนุษย์ / ข้อควรระวัง」 มีความน่าเชื่อถือมากกว่าการตัดสินใจจากตัวเลขเอง
| ฐาน | สถานการณ์ทั่วไป | ความกระชับ | ความอ่านง่ายของมนุษย์ | ข้อควรระวัง |
|---|---|---|---|---|
ไบนารี (ฐาน-2) | ฮาร์ดแวร์ระดับล่าง บิตมาสก์ โปรโตคอลบูลีน ฟิลด์โปรโตคอล | ต่ำมาก (1 บิต / ตัวอักษร) | แย่มาก (มนุษย์ระบุได้ยาก) | แทบไม่เคยแสดงให้ผู้ใช้เห็นโดยตรง มักถูกแทนที่ด้วยฐานสิบหกในระดับล่าง |
ฐานแปด (ฐาน-8) | สิทธิ์ไฟล์ Unix (chmod 755) แอสเซมบลี PDP-11 ในอดีต | ต่ำ (3 บิต / ตัวอักษร) | ปานกลาง (ตัวเลขสั้นอ่านง่าย ความยาวเพิ่มขึ้นเล็กน้อย) | แทบไม่ใช้ในแอปพลิเคชันสมัยใหม่; `0o755` จาก Python 2 ยังใช้ได้ใน Python 3 แต่ไม่ใช่กระแสหลักอีกต่อไป |
ทศนิยม (ฐาน-10) | อินพุต/เอาต์พุตของผู้ใช้ ตรรกะทางธุรกิจ พารามิเตอร์การตั้งค่า | ปานกลาง (≈3.32 บิต / ตัวอักษร) | ดีที่สุด (ภาษาธรรมชาติของมนุษย์) | อัตราการบีบอัดต่ำกว่าฐานสิบหก; การดีบักข้อมูลไบนารีต้องแปลงก่อน |
ฐานสิบหก (ฐาน-16) | รหัสสี ที่อยู่หน่วยความจำ สตรีมไบต์ MAC/UUID ไบต์โค้ด | สูง (4 บิต / ตัวอักษร, 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 |
ความอ่านง่ายของมนุษย์ | ดี (เป็นมิตรต่อการดีบักและดัมพ์ไบนารี) | แย่ (ตัวอักษรสุ่ม ระบุขอบเขตได้ยาก) |
สถานการณ์ที่เหมาะสม | รหัสสี ที่อยู่หน่วยความจำ MAC UUID บันทึกการดีบัก ตัวอย่างไฟล์ไบนารี | Data URI ไฟล์แนบอีเมล (MIME) โทเค็น API JWT ฝังรูปภาพใน CSS/HTML |
สถานการณ์ที่ไม่เหมาะสม | พารามิเตอร์ URL ที่ยาวเกินไป (ใช้ base64url แทน) Data URI (ขนาดเพิ่มขึ้นเท่าตัว) | บันทึกการดีบัก (มองไม่เห็นขอบเขตฟิลด์) รหัสสี (ส่งให้ CSS โดยตรงไม่ได้) |
Best Practices
ตัวพิมพ์ของตัวอักษรฐานสิบหกต้องสม่ำเสมอ (A-F vs a-f)
ภายในโปรเจ็กต์เดียวกัน ตัวอักษรฐานสิบหกต้องเป็นตัวพิมพ์ใหญ่ทั้งหมดหรือตัวพิมพ์เล็กทั้งหมด **ห้ามผสมกันโดยเด็ดขาด** รหัสสี C/C++/Go/HTML นิยมใช้ A-F ตัวพิมพ์ใหญ่; JSON, URL, UUID (RFC 4122), ที่อยู่ Ethereum, สตริง JavaScript นิยมใช้ a-f ตัวพิมพ์เล็ก การผสมตัวพิมพ์ไม่เปลี่ยนค่า แต่การแยกวิเคราะห์ข้ามภาษา (เช่น `int('FF', 16)` vs `int('ff', 16)`) และการอ่านของมนุษย์จะเกิดปัญหา——「FF5733」 และ 「ff5733」 ในบันทึกแยกแยะยากด้วยตา ทำให้เกิดความผิดพลาดระหว่างการดีบักได้ง่าย
ฐานสิบหกคืออะไร?ระบุคำนำหน้า 0x อย่างชัดเจน หรือจัดทำเอกสารเป็นทศนิยมแบบไม่มีเครื่องหมาย
ตัวเลขใน JSON, พารามิเตอร์ URL, ฟิลด์ API เป็นทศนิยมโดยค่าเริ่มต้น สตริง '100' ใน JSON เป็นทศนิยม 100 แต่ '0x100' เป็นฐานสิบหก 256 **ต้อง** ระบุคำนำหน้า 0x อย่างชัดเจน (หรือเพิ่มคำต่อท้าย `hex` ในชื่อฟิลด์) มิฉะนั้นแบ็กเอนด์จะอ่านเป็นทศนิยมและได้ผลลัพธ์ที่ผิด (100 vs 256 ต่างกัน 2.56 เท่า) เมื่อบูรณาการ API จากผู้ให้บริการหลายรายเป็นชุด แนะนำอย่างยิ่งให้กำหนดในเอกสารโปรโตคอล: ฟิลด์ hex ทั้งหมดต้องมีคำนำหน้า 0x
เหตุใดจึงใช้ตัวอักษรในฐานสิบหกและฐานที่สูงขึ้น?ระบุลำดับไบต์ (Big/Little-endian) อย่างชัดเจนเมื่อแปลง
โปรโตคอลเครือข่าย รูปแบบไฟล์ รีจิสเตอร์ฮาร์ดแวร์แทบทั้งหมดบังคับลำดับไบต์——ลำดับไบต์ของเครือข่ายเป็น Big-endian และค่าเริ่มต้นของ CPU x86/ARM เป็น Little-endian **เมื่ออ่านและเขียนต้องระบุลำดับไบต์อย่างชัดเจน** มิฉะนั้นตัวเลขฐานสิบหกเดียวกัน `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 ต้องเป็นตัวพิมพ์เล็ก; มาตรฐานที่อยู่ MAC ของ IEEE 802 ใช้ตัวพิมพ์เล็ก; ที่อยู่ Ethereum, git commit hash, ลายนิ้วมือ TLS, แฮช SHA-256 ของไฟล์แทบทั้งหมดเป็นตัวพิมพ์เล็กโดยค่าเริ่มต้น **เมื่อส่งออกตัวระบุฐานสิบหกเป็นชุด ให้ใช้ตัวพิมพ์เล็กอย่างสม่ำเสมอ** เพื่อหลีกเลี่ยงความแตกต่างในการคัดลอก-วางระหว่าง Linux/Mac/Windows (คลิปบอร์ดของ Windows บางครั้งเปลี่ยนตัวพิมพ์) ระบบบันทึก, CMS, ศูนย์การตั้งค่าทำการขจัดข้อมูลซ้ำและจัดทำดัชนีตามตัวพิมพ์เล็ก การผสมตัวพิมพ์จะถูกมองว่าเป็นรายการที่แตกต่างกันสองรายการ
RFC 4122 - มาตรฐาน UUIDระวังการมีช่องสัญญาณ alpha เมื่อแปลงรหัสสี
รหัสสี CSS `#FF5733` เป็น RGB 6 หลัก; `#FF573380` เป็น RGBA 8 หลัก (สองหลักสุดท้าย 80 = alpha 50%); รูปแบบย่อ `#F53` เทียบเท่า `#FF5533` เครื่องมือนี้ประมวลผลเฉพาะส่วนตัวเลขเมื่อแปลง **ช่องสัญญาณ alpha ต้องจัดการแยกต่างหาก** เมื่อนำสีจากแบบไปใช้กับโค้ดเป็นชุด แนะนำให้จัดกลุ่มตามความยาวก่อน (6 หลัก vs 8 หลัก) อย่าเข้าใจผิดว่า RGBA 8 หลักเป็น RGB 6 หลัก (การสูญเสีย 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/`) อย่าใช้เครื่องมือนี้แปลงแบบ end-to-end โดยตรง
ตัวแปลงนี้รองรับระบบเลข (ฐาน) ใดบ้าง?อย่าใช้สตริงฐานสิบหกเป็นรหัสผ่านหรือข้อมูลรับรองที่ละเอียดอ่อน
「ฐานสิบหก 32 หลัก」 ดูเหมือนรหัสผ่านที่มีความแข็งแรงสูง (`a3f8b9c2d1e0f7a6b5c4d3e2f1a0b9c8`) แต่เอนโทรปีจริงมีเพียง 16 ไบต์ = 128 บิต ดูดี แต่ **บ่อยครั้งการแทนค่าด้วยฐานสิบหกก็คือคีย์/โทเค็นนั่นเอง**——API Key, JWT secret, คีย์เข้ารหัสแบบสมมาตร, TOTP secret, คีย์ส่วนตัวของกระเป๋าเงินคริปโต, HMAC key ล้วนเป็นสตริงฐานสิบหก เมื่อค่าเหล่านี้รั่วไหลเท่ากับเปลือยเปล่า **ห้ามอย่างยิ่ง** นำไปวางในตั๋วแจ้งปัญหา, Slack, อีเมล, ภาพหน้าจอ และอย่าใช้เครื่องมือออนไลน์ (แม้จะอ้างว่าประมวลผลในเครื่อง) แปลง เครื่องมือนี้เป็นเครื่องมือแปลงรูปแบบ ไม่เหมาะกับการจัดการสตริงฐานสิบหกที่มีความหมายของคีย์
ข้อมูลของฉันปลอดภัยหรือไม่? มันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?คำถามที่พบบ่อย
ตัวแปลงนี้รองรับระบบเลข (ฐาน) ใดบ้าง?
ตัวแปลงนี้รองรับทุกฐานจำนวนเต็มตั้งแต่ 2 (ไบนารี) ถึง 36 ไบนารี ฐานแปด ทศนิยม และฐานสิบหกแสดงเป็นการ์ดเข้าถึงด่วน
ฉันจะแปลงฐานสิบหกเป็นทศนิยมได้อย่างไร?
เลือกฐานสิบหก (ฐาน-16) เป็นเรดิกซ์อินพุต พิมพ์ค่า hex ของคุณ (เช่น FF) และผลลัพธ์ทศนิยมจะปรากฏทันที Hex FF = ทศนิยม 255
ฉันจะแปลงทศนิยมเป็นฐานสิบหกได้อย่างไร?
เลือกทศนิยม (ฐาน-10) ป้อนตัวเลขทศนิยมของคุณ (เช่น 255) และผลลัพธ์ hex จะปรากฏทันที ทศนิยม 255 = hex FF
ฉันจะแปลงไบนารีเป็นฐานสิบหกได้อย่างไร?
เลือกไบนารี (ฐาน-2) ป้อนสตริงไบนารีของคุณ (เช่น 11111111) และผลลัพธ์ hex จะปรากฏทันที ทุกๆ 4 หลักไบนารีแมปกับ 1 หลัก hex
รองรับเลขเศษส่วน (ทศนิยม) หรือไม่?
ใช่ เลขเศษส่วนเช่น 3.14 หรือ FF.8 รองรับด้วยความแม่นยำสูงสุด 20 หลักโดยใช้ Decimal.js
รองรับจำนวนลบหรือไม่?
ใช่ เพียงเติมเครื่องหมายลบ (-) ไว้ข้างหน้าตัวเลขที่ป้อน
ความแตกต่างระหว่างฐานสิบหกและการเข้ารหัส Base64 คืออะไร?
Hex ใช้สัญลักษณ์ 16 ตัวสร้างอักขระ 2 ตัวต่อไบต์; Base64 ใช้สัญลักษณ์ 64 ตัวสร้างอักขระประมาณ 4 ตัวต่อ 3 ไบต์
เหตุใดฐานสิบหกจึงถูกใช้ในการเขียนโปรแกรม?
Hex ให้การแสดงข้อมูลไบนารีที่มนุษย์สามารถอ่านได้ 1 หลัก hex = 4 บิต, 2 หลัก hex = 1 ไบต์
ข้อมูลของฉันปลอดภัยหรือไม่? มันถูกส่งไปยังเซิร์ฟเวอร์หรือไม่?
ไม่ การแปลงทั้งหมดทำงานในเบราว์เซอร์ของคุณ ตัวเลขไม่เคยออกจากอุปกรณ์ของคุณ ทำงานแบบออฟไลน์ได้
'ฐาน' หรือ 'เรดิกซ์' หมายถึงอะไร?
ฐาน (เรดิกซ์) คือจำนวนของตัวเลขที่ไม่ซ้ำกันที่ใช้ในระบบเลข
เหตุใดจึงใช้ตัวอักษรในฐานสิบหกและฐานที่สูงขึ้น?
เมื่อฐานเกิน 10 ตัวอักษร a-z จะถูกใช้เป็นตัวเลขเพิ่มเติม
ฉันสามารถแปลงตัวเลขขนาดใหญ่โดยไม่สูญเสียความแม่นยำได้หรือไม่?
ใช่ ใช้ Decimal.js สำหรับการคำนวณความแม่นยำตามอำเภอใจ
Privacy & Security
การแปลงตัวเลขทั้งหมดทำงาน 100% ในเบราว์เซอร์ของคุณ ตัวเลขถูกประมวลผลในเครื่องโดยใช้ JavaScript และไม่เคยถูกส่งไปยังเซิร์ฟเวอร์ใดๆ
- จำลองตาบอดสี
- ตัวแปลงสี
- เครื่องมือแปลง htaccess เป็น Nginx
- ตัวแปลง SQL
- ตัวแยกคุกกี้
- ตัวสร้าง Cron
- ตัวตรวจสอบ Cron
- จัดรูปแบบ CSS
- บีบอัด CSS
- CSV เป็น Excel
- แปลงค่าเงิน
- ตรวจสอบความแตกต่าง
- สร้าง Favicon
- จัดรูปแบบ XML
- ตัวแปลงเลขฐานสิบหก
- จัดรูปแบบ HTML
- บีบอัด HTML
- HTML เป็น Markdown
- แปลง Markdown เป็น HTML
- ตัวจัดรูปแบบ JavaScript
- บีบอัด JS
- เครื่องมือจัดรูปแบบ JSX
- บีบอัด JSX
- การจัดกลุ่มคำหลัก
- เครื่องมือสร้าง Lorem Ipsum
- สร้างตาราง Markdown
- เครื่องมือสร้าง Meta Tag
- เครื่องมือสร้างรหัสผ่าน
- เครื่องมือตรวจสอบความแข็งแรงของรหัสผ่าน
- เครื่องสร้าง QR Code/บาร์โค้ด
- เครื่องมือทดสอบ Regex
- สร้าง URL Slug
- สร้าง SQL
- เครื่องมือจัดรูปแบบ SQL
- เครื่องนับคำ
- เครื่องมือเวลา
- จัดรูปแบบ TS
- บีบอัด TS
- จัดรูปแบบ TSX
- บีบอัด TSX
- ตัวแปลง Unix Timestamp
- เครื่องมือสร้าง UUID
- จัดรูปแบบ YAML
- Case Converter