การแปลงเลขฐานและการทำงานของเครื่องมือ
เครื่องมือแปลงเลขฐานสอง/ฐานสิบหกได้รับการออกแบบมาเพื่อแปลงค่าตัวเลขไปมาระหว่างฐานสอง ฐานแปด ฐานสิบ และฐานสิบหกอย่างรวดเร็ว เมื่อใช้งานในโหมดตัวเลข การแก้ไขข้อมูลในช่องใดช่องหนึ่ง ไม่ว่าจะเป็น ฐานสอง (Binary), ฐานแปด (Octal), ฐานสิบ (Decimal) หรือ ฐานสิบหก (Hex) จะส่งผลให้ระบบคำนวณและอัปเดตค่าในอีกสามช่องที่เหลือให้โดยอัตโนมัติในทันที
นอกจากนี้ เครื่องมือยังรองรับโหมดข้อความ ซึ่งสามารถแปลงข้อความทั่วไปให้เป็นค่าไบต์ในฐานที่ต้องการ หรือแปลงค่าไบต์เหล่านั้นกลับมาเป็นข้อความที่อ่านได้ตามปกติ
รูปแบบข้อมูลนำเข้าและกฎการแปลงตัวเลข
ในโหมดตัวเลข เครื่องมือรองรับรูปแบบการเขียนที่หลากหลายเพื่อความสะดวกในการใช้งาน โดยมีกฎเกณฑ์และข้อกำหนดดังนี้:
- รูปแบบที่รองรับ: ตัวเลขนำเข้าสามารถมีเครื่องหมายลบนำหน้า มีช่องว่างล้อมรอบ หรือใช้คำนำหน้าเพื่อระบุฐาน เช่น
0bสำหรับฐานสอง,0oสำหรับฐานแปด และ0xสำหรับฐานสิบหก รวมถึงการใช้เครื่องหมายขีดล่าง (_) และช่องว่างในการแบ่งกลุ่มตัวเลข - การประมวลผลตัวเลขขนาดใหญ่: ระบบใช้ BigInt ในการวิเคราะห์และจัดรูปแบบตัวเลข ทำให้สามารถรองรับจำนวนเต็มที่มีความแม่นยำสูงได้ถึง 4,096 ตัวอักษร โดยไม่มีข้อจำกัดด้านขนาดของตัวเลขในทางปฏิบัติ และจะไม่มีการปัดเศษใดๆ ทั้งสิ้น
- การจัดการเลขติดลบ: ค่าที่เป็นลบจะยังคงรักษาเครื่องหมายลบนำหน้าเอาไว้ในทุกๆ ฐานระบบเลข
- การเติมศูนย์นำหน้า (Padding): เพื่อความเป็นระเบียบของข้อมูล ผลลัพธ์ในแต่ละฐานจะมีการเติมศูนย์นำหน้าตามโครงสร้างไบต์ โดยฐานสองจะถูกเติมศูนย์ให้ครบ 8 บิต, ฐานแปดเติมศูนย์ให้ครบ 3 บิต, ฐานสิบหกเติมศูนย์ให้ครบ 2 บิต (และแสดงผลตัวอักษรภาษาอังกฤษเป็นตัวพิมพ์ใหญ่) ส่วนฐานสิบจะไม่มีการเติมศูนย์นำหน้า
หากผู้ใช้งานกรอกตัวเลขที่ไม่สอดคล้องกับฐานที่เลือก ระบบจะแสดงข้อความแจ้งเตือนข้อผิดพลาดว่า "ไม่ใช่ตัวเลขที่ถูกต้องสำหรับฐานนั้น — กรุณาตรวจสอบตัวเลขที่ไม่สามารถมีอยู่ได้"
การแปลงข้อความและรหัสไบต์ UTF-8
สำหรับการทำงานในโหมดข้อความ เครื่องมือจะใช้การเข้ารหัสอักขระแบบ UTF-8 เป็นมาตรฐานหลัก โดยมีรายละเอียดการทำงานดังนี้:
- ข้อความ → ไบต์: แปลงข้อความใดๆ (รองรับความยาวสูงสุด 200,000 ตัวอักษร) ให้เป็นค่าไบต์ตามฐานที่เลือก หากข้อมูลยาวเกินกำหนด ระบบจะแสดงข้อความเตือน "ข้อมูลยาวเกินไปสำหรับเครื่องมือนี้ กรุณาลองใช้ข้อมูลนำเข้าที่สั้นลง"
- ไบต์ → ข้อความ: แปลงรหัสไบต์ในฐานสอง ฐานแปด ฐานสิบ หรือฐานสิบหก กลับมาเป็นข้อความ โดยค่าไบต์แต่ละค่าสามารถคั่นด้วยช่องว่างหรือเครื่องหมายจุลภาค (,)
ในการแปลงไบต์กลับเป็นข้อความ ค่าไบต์ทุกตัวจะต้องมีค่าอยู่ระหว่าง 0–255 ในฐานที่เลือกไว้เท่านั้น หากระบบตรวจพบค่าที่อยู่นอกเหนือจากนี้ จะแสดงข้อความเตือน "รหัสไบต์ไม่ถูกต้อง — แต่ละค่าต้องเป็นหนึ่งไบต์ (0–255) ในฐานที่เลือก" และหากชุดรหัสไบต์ดังกล่าวไม่สามารถถอดรหัสตามโครงสร้าง UTF-8 ที่ถูกต้องได้ ระบบจะแจ้งข้อผิดพลาดว่า "ไบต์เหล่านี้ไม่ใช่ UTF-8 ที่ถูกต้อง จึงไม่สามารถแสดงผลเป็นข้อความได้"
สถานะการทำงานของระบบ
ในระหว่างการใช้งาน เครื่องมือจะแสดงสถานะการทำงานที่เปลี่ยนไปตามกิจกรรมล่าสุดของผู้ใช้ ดังนี้:
- พร้อมใช้งาน พิมพ์ตัวเลขหรือข้อความเพื่อเริ่มการแปลง: แสดงเมื่อระบบพร้อมรับข้อมูล
- แปลงค่าแล้ว: แสดงหลังจากเสร็จสิ้นการแปลงค่าในโหมดตัวเลข
- เข้ารหัสแล้ว: แสดงหลังจากแปลงข้อความไปเป็นค่าไบต์สำเร็จ
- ถอดรหัสแล้ว: แสดงหลังจากแปลงค่าไบต์กลับมาเป็นข้อความสำเร็จ
- ล้างข้อมูลแล้ว: แสดงเมื่อผู้ใช้กดปุ่ม "ล้างข้อมูล" เพื่อลบข้อมูลนำเข้าทั้งหมด
นโยบายความเป็นส่วนตัวและการประมวลผลข้อมูล
ความปลอดภัยของข้อมูลเป็นสิ่งสำคัญที่สุด การแปลงค่าทุกประเภทไม่ว่าจะเป็นตัวเลขหรือข้อความจะทำงานและประมวลผลภายในเบราว์เซอร์บนอุปกรณ์ของคุณทั้งหมด ข้อมูลที่คุณกรอกจะไม่ถูกอัปโหลดหรือส่งออกไปยังเซิร์ฟเวอร์ภายนอก ทำให้มั่นใจได้ว่าข้อมูลส่วนบุคคลของคุณจะถูกจำกัดอยู่เฉพาะบนเครื่องคอมพิวเตอร์หรือโทรศัพท์มือถือของคุณเท่านั้น
คำถามที่พบบ่อย (FAQ)
ฉันสามารถแปลงอะไรได้บ้างที่นี่? มีสองโหมดหลักครับ: โหมดตัวเลขจะเชื่อมโยงเลขฐานสอง, ฐานแปด, ฐานสิบ และฐานสิบหกเข้าด้วยกัน — เมื่อคุณแก้ไขช่องใดช่องหนึ่ง ช่องอื่นๆ จะอัปเดตทันที ส่วนโหมดข้อความจะแปลงข้อความใดๆ ให้เป็นค่าไบต์ในฐานที่คุณเลือก และสามารถแปลงค่าไบต์เหล่านั้นกลับมาเป็นข้อความได้
เครื่องมือนี้รองรับเลขติดลบและตัวเลขที่มีขนาดใหญ่มากหรือไม่? รองรับครับ ค่าลบจะยังคงมีเครื่องหมายลบนำหน้าในทุกฐาน และไม่มีการจำกัดขนาดของตัวเลข — ค่าจะถูกแปลงอย่างแม่นยำโดยไม่มีการปัดเศษ ทั้งนี้จะไม่มีมุมมองแบบ two's-complement ที่กำหนดความกว้างคงที่ เนื่องจากรูปแบบดังกล่าวจะสมเหตุสมผลก็ต่อเมื่อคุณระบุขนาดบิตที่แน่นอนแล้วเท่านั้น
ข้อมูลนำเข้าของฉันถูกส่งไปที่ไหนหรือไม่? ไม่ครับ ทุกอย่างถูกคำนวณภายในเครื่องบนเบราว์เซอร์ของคุณ ดังนั้นข้อมูลที่คุณพิมพ์จะไม่ถูกอัปโหลดไปที่ใดเลย