ตัวแปลงเลขฐานสิบหก

ป้อนค่า
ตัวอย่าง:
2ไบนารี
11111111.01010111111010110100
8ออกทัล
377.25765515602517626145
10ทศนิยม
255.3434342
16ฐานสิบหก
ff.57eb4dc153f2c65b9983

ตัวแปลงฐานเลขออนไลน์ฟรี แปลงทันทีระหว่างเลขฐานสิบหก ทศนิยม ไบนารี ฐานแปด และทุกฐานตั้งแต่ 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 ทศนิยม

วิธีการใช้งาน

  1. ป้อนตัวเลขในช่องป้อนข้อมูลที่ด้านบนของเครื่องมือ
  2. เลือกฐาน (เรดิกซ์) ของตัวเลขที่ป้อนโดยใช้เมนูแบบเลื่อนลง — เลือกตั้งแต่ไบนารี (2) ถึงฐาน-36
  3. ดูผลลัพธ์การแปลงทันทีสำหรับไบนารี ฐานแปด ทศนิยม ฐานสิบหก และอื่นๆ
  4. คลิกการ์ดผลลัพธ์ใดๆ เพื่อสลับอินพุตไปยังฐานนั้นและแปลงต่อ
  5. คลิกไอคอนคัดลอกบนการ์ดผลลัพธ์ใดๆ เพื่อคัดลอกค่าที่แปลงแล้วไปยังคลิปบอร์ด
  6. ขยาย 'ฐานอื่นๆ (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 และไม่เคยถูกส่งไปยังเซิร์ฟเวอร์ใดๆ