พจนานุกรม

Bit Flag คืออะไร

Bit Flag หรือที่เรียกอีกอย่างว่า bit field คือข้อมูลเมตาที่คุณสามารถพบได้ในไฟล์หลายประเภท มาดูกันว่าสิ่งนี้หมายความว่าอย่างไร มาจากที่ไหน และบอกอะไรเกี่ยวกับไฟล์ของคุณ

bit-flag

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

แหล่งที่มาของค่า

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

ในรายงานข้อมูลเมทาดาทา คุณมักจะพบ bit flag อยู่ในไฟล์ ZIP archive และในรูปแบบไฟล์ Office ที่ภายในใช้ ZIP เป็นคอนเทนเนอร์ ได้แก่ เอกสาร DOCX, XLSX และ PPTX ไฟล์ ODT และ e-book แบบ EPUB ก็จัดเก็บ flag นี้เช่นกัน แต่รายงานอาจไม่ได้แสดงให้เห็น รูปแบบไฟล์ ZIP จะกำหนด general purpose bit flag ให้กับไอเท็มทุกชิ้นใน archive และโปรแกรมที่สร้าง archive นั้นเป็นผู้ตั้งค่านี้ ไม่มีใครพิมพ์ค่านี้เอง

วิธีอ่านค่า

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

สวิตช์ของ ZIP ที่ควรรู้มีสามตัวคือ:

  • บิตตัวแรกบ่งชี้ว่ารายการนั้นถูกเข้ารหัส หมายความว่าต้องใช้รหัสผ่าน
  • บิตตัวที่สี่บอกว่าขนาดและ checksum ของรายการถูกเขียนไว้หลังข้อมูลแทนที่จะอยู่ก่อนข้อมูล ซึ่งเป็นสิ่งที่เกิดขึ้นเมื่อสร้างไฟล์ ZIP แบบทันทีขณะส่งออก
  • บิตตัวที่สิบสองบอกว่าชื่อของรายการถูกเก็บในรูปแบบ UTF-8 ซึ่งเป็นการเข้ารหัสอักขระที่รองรับตัวอักษรมีวรรณยุกต์ สคริปต์ที่ไม่ใช่ละติน และอีโมจิ

เหตุใดจึงสำคัญต่อไฟล์ของคุณ

แฟล็กนี้ช่วยอธิบายพฤติกรรมที่คุณอาจสงสัย มันคือจุดที่เอกสารที่ป้องกันด้วยรหัสผ่านประกาศว่าตัวเองถูกล็อก ก่อนที่โปรแกรมใดๆ จะถามหารหัสผ่านจากคุณ มันคือเหตุผลที่ทำให้บางแอปไม่สามารถบอกคุณได้ว่ารายการภายในไฟล์ ZIP มีขนาดเท่าไรจนกว่าจะคลายไฟล์แล้ว และยังเป็นเหตุผลที่ชื่อไฟล์ที่มีวรรณยุกต์หรือตัวอักษรจีนแสดงผลได้ถูกต้องในแอปคลายไฟล์หนึ่ง แต่กลายเป็นตัวเพี้ยนในอีกแอปหนึ่ง: แอปหนึ่งเคารพสวิตช์ UTF-8 ตัวนี้ แต่อีกแอปหนึ่งสมมติว่าใช้การเข้ารหัสแบบเก่า

สิ่งที่ช่องนี้ไม่ทำคือการบอกคุณภาพของไฟล์ และมันไม่ได้เก็บข้อมูลส่วนบุคคลใดๆ มันเป็นบันทึกทางเทคนิคเกี่ยวกับวิธีที่ไฟล์ถูกเขียน มีประโยชน์เมื่อไฟล์เปิดไม่ขึ้นและคุณอยากรู้ว่าทำไม

คีย์เมตา