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

5 จาก 2 การให้คะแนน

ตัวแปลงเลขฐานสิบหกเป็นเครื่องมือฟรีสำหรับแปลงข้อความเป็นค่าไบต์เลขฐานสิบหก และแปลงเลขฐานสิบหกที่ถูกต้องกลับเป็นข้อความ

เลขฐานสิบหกคืออะไรและทำงานอย่างไร?

เลขฐานสิบหกเป็นระบบเลขฐาน 16 ใช้ตัวเลข 0 ถึง 9 และตัวอักษร A ถึง F เลขฐานสิบหกแต่ละหลักแทนเลขฐานสองได้ 4 บิต ดังนั้นเลขฐานสิบหก 2 หลักจึงใช้แทนข้อมูล 1 ไบต์ที่มีค่าได้ตั้งแต่ 00 ถึง FF

เลขฐานสิบหกอ่านง่ายกว่าลำดับเลขฐานสองยาวๆ โดยยังคงค่าไบต์เดิมไว้ทุกประการ ตัวอักษรจะเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กก็ได้ ความหมายไม่เปลี่ยนแปลง

เลขฐานสิบ เลขฐานสิบหก เลขฐานสอง
0 00 00000000
10 0A 00001010
32 20 00100000
65 41 01000001
255 FF 11111111

จะแปลงข้อความเป็นเลขฐานสิบหกและแปลงกลับได้อย่างไร?

ใช้ เป็นเลขฐานสิบหก สำหรับข้อความทั่วไป และใช้ เป็นข้อความ สำหรับลำดับคู่ไบต์เลขฐานสิบหก เครื่องมือนี้ประมวลผลบนเซิร์ฟเวอร์ด้วยฟังก์ชัน bin2hex และ hex2bin ของ PHP

  1. หากต้องการแปลงข้อความ ให้ป้อนอักขระในช่อง เป็นเลขฐานสิบหก แล้วดูค่าที่ได้ในช่อง เลขฐานสิบหก
  2. หากต้องการแปลงกลับ ให้ป้อนเลขฐานสิบหกที่ถูกต้องในช่อง เป็นข้อความ แต่ละไบต์ต้องใช้เลขฐานสิบหก 2 หลัก ข้อความที่ถอดรหัสแล้วจะแสดงในช่องผลลัพธ์ เลขฐานสิบหก

ตัวอย่างง่ายๆ ข้อความ Hi ประกอบด้วยไบต์ ASCII 48 และ 69 ในรูปเลขฐานสิบหก จึงได้ผลลัพธ์เป็น 4869 และเมื่อแปลง 4869 กลับ จะได้ Hi

ช่องว่างและเครื่องหมายวรรคตอนจะถูกแปลงเหมือนไบต์อื่นๆ ตัวเลขที่ป้อนเป็นข้อความจะถือเป็นอักขระตัวเลข ไม่ใช่ค่าฐานสิบที่ต้องนำไปคำนวณใหม่ อักขระที่มีเครื่องหมายกำกับเสียงและอักขระที่ไม่ใช่อักษรละตินอาจใช้หลายไบต์ เนื่องจากรูปแบบเลขฐานสิบหกขึ้นอยู่กับการเข้ารหัสอักขระ ซึ่งข้อความบนเว็บมักใช้ UTF-8

เลขฐานสิบหกนำไปใช้กับงานอะไรบ้าง?

เลขฐานสิบหกใช้ในงานที่ต้องดูข้อมูลไบนารีแบบกระชับและจัดแนวตามไบต์ ตัวอย่างที่พบบ่อย ได้แก่

  • การเขียนโปรแกรม เช่น อาร์เรย์ไบต์ ที่อยู่หน่วยความจำ ผลลัพธ์สำหรับแก้จุดบกพร่อง และสัญกรณ์จุดรหัส Unicode
  • ระบบเครือข่าย เครื่องมืออย่าง Wireshark จะแสดงไบต์ของแพ็กเก็ตและฟิลด์ของโปรโตคอลในรูปเลขฐานสิบหก
  • อิเล็กทรอนิกส์ เช่น รีจิสเตอร์ของไมโครคอนโทรลเลอร์ อิมเมจเฟิร์มแวร์ และที่อยู่ฮาร์ดแวร์
  • การศึกษา โดยเฉพาะแบบฝึกหัดเกี่ยวกับเลขฐานสอง เลขฐานสิบ การเข้ารหัสอักขระ และหน่วยความจำคอมพิวเตอร์
  • วิทยุ ซึ่งอาจตรวจสอบเฟรมโปรโตคอล ค่ากำหนดการทำงาน และข้อมูลที่รับมาในรูปไบต์เลขฐานสิบหก

หลายคนยังคุ้นเคยกับเลขฐานสิบหกจากรหัสสี เช่น #336699 แต่การแปลงข้อความเป็นเลขฐานสิบหกไม่ใช่การเลือกสี หากต้องการแปลงค่าระหว่างฐานตัวเลขโดยตรง โดยทั่วไปใช้ตัวแปลงเลขฐานสองหรือตัวแปลงเลขทศนิยมจะเข้าใจง่ายกว่า

รายละเอียดการแปลงและข้อผิดพลาดที่พบบ่อย

การแปลงข้อความทำงานกับไบต์ ไม่ได้อิงตามรูปร่างที่มองเห็นหรือความหมายของอักขระ ฟังก์ชัน bin2hex ของ PHP จะคืนค่าเลขฐานสิบหกตัวพิมพ์เล็ก 2 หลักต่อข้อมูลขาเข้า 1 ไบต์ ดังนั้นสตริงไบต์ว่างจึงมีรูปแบบเลขฐานสิบหกเป็นค่าว่าง

การแปลงกลับต้องใช้เลขฐานสิบหกที่ถูกต้องและจับคู่ครบทุก 2 หลัก หากจำนวนหลักเป็นเลขคี่ จะเหลือข้อมูลครึ่งไบต์ ส่วนช่องว่าง เครื่องหมายวรรคตอน และคำนำหน้าอย่าง 0x ไม่ใช่ส่วนหนึ่งของลำดับไบต์ดิบ ให้นำการจัดรูปแบบเหล่านี้ออกก่อนแปลง

ข้อผิดพลาดที่พบบ่อยเมื่อแปลงด้วยตนเองคือการตัดเลขศูนย์นำหน้าออก ค่าฐานสิบ 10 เมื่ออยู่ในลำดับไบต์ต้องเขียนเป็น 1 ไบต์ว่า 0A ไม่ใช่แค่ A หากเลขศูนย์นี้หายไป การจับคู่ของทุกหลักที่ตามมาจะเลื่อน และอาจทำให้ค่าทั้งหมดไม่ถูกต้อง

ผลลัพธ์เลขฐานสิบหกที่ยาวมากอาจตรวจสอบในเบราว์เซอร์ได้ไม่สะดวก ตัวแปลงไบต์เลขฐานสิบหกนี้ไม่สามารถระบุรูปแบบไฟล์ ซ่อมแซมไบต์ที่เสียหาย หรือบอกได้ว่าลำดับข้อมูลที่ไม่รู้จักใช้การเข้ารหัสอักขระแบบใด

คำถามที่พบบ่อย

เลขฐานสิบหกเป็นการเข้ารหัสข้อมูลหรือไม่?

ไม่ใช่ เลขฐานสิบหกเป็นเพียงรูปแบบแสดงข้อมูลที่แปลงย้อนกลับได้ จึงไม่ช่วยปกปิดข้อมูล ผู้ที่มีค่าเลขฐานสิบหกสามารถแปลงกลับเป็นไบต์เดิมได้ จึงไม่ควรใช้ซ่อนรหัสผ่าน โทเค็น หรือข้อมูลส่วนบุคคล

เลขฐานสิบหกตัวพิมพ์ใหญ่กับตัวพิมพ์เล็กต่างกันไหม?

ไม่ต่างกัน ค่าอย่าง 4A และ 4a แทนไบต์เดียวกัน ระบบที่นำค่าไปใช้อาจกำหนดรูปแบบตัวพิมพ์ไว้ แต่ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กไม่ทำให้ค่าฐานสิบหกเปลี่ยนไป

ใส่ช่องว่างคั่นระหว่างไบต์เลขฐานสิบหกได้ไหม?

ข้อมูลเลขฐานสิบหกที่จัดไว้ให้อ่านง่ายมักมีช่องว่าง หมายเลขบรรทัด หรือคอลัมน์ ASCII แต่สิ่งเหล่านี้เป็นเพียงตัวช่วยในการแสดงผล ไม่ใช่ข้อมูลเลขฐานสิบหก ฟังก์ชัน hex2bin ของ PHP ต้องการลำดับคู่ไบต์ที่ต่อเนื่องกัน จึงต้องนำตัวคั่นและป้ายกำกับออกก่อน

เมื่อแปลงไฟล์ไบนารีแล้วจะได้ข้อความที่อ่านได้ไหม?

โดยทั่วไปไม่ได้ รูปภาพ ไฟล์บีบอัด และไฟล์โปรแกรมมีค่าไบต์ได้หลายแบบ ซึ่งไม่จำเป็นต้องตรงกับอักขระที่พิมพ์หรืออ่านได้ หากต้องรักษาโครงสร้างและตำแหน่งออฟเซ็ตของไบต์ ควรใช้โปรแกรมแก้ไขเลขฐานสิบหกหรือเครื่องมือวิเคราะห์รูปแบบไฟล์

เครื่องมือแปลงข้อมูลในเบราว์เซอร์ของฉันหรือไม่?

ไม่ ข้อมูลที่ป้อนจะส่งผ่าน HTTPS ไปยังเซิร์ฟเวอร์เพื่อทำการแปลง และจะไม่ถูกจัดเก็บ หากข้อมูลนั้นไม่เหมาะกับการประมวลผลฝั่งเซิร์ฟเวอร์ อย่าส่งข้อมูลลับเข้ามา ไม่ว่าจะอยู่ในรูปข้อความหรือเลขฐานสิบหก

เครื่องมือที่คล้ายกัน

ตัวแปลงเลขฐานสอง

แปลงข้อความเป็นไบนารีและกลับกันสำหรับอินพุตสตริงใดๆ

4,763
28
ตัวแปลง ASCII

แปลงข้อความเป็น ascii และกลับกันสำหรับอินพุตสตริงใด ๆ

4,869
48
ตัวแปลงเลขทศนิยม

แปลงข้อความเป็นเลขฐานสิบและแปลงกลับสำหรับอินพุตสตริงใดๆ

4,827
42

เครื่องมือยอดนิยม