ByteOrder.Type เป็นชุดค่าคงที่สำหรับกำหนดลำดับไบต์ของข้อมูลไบนารี โดย ByteOrder.LittleEndian หมายถึงไบต์น้อย (least significant byte) มาก่อน และ ByteOrder.BigEndian หมายถึงไบต์มาก (most significant byte) มาก่อน ค่านี้ใช้เป็นพารามิเตอร์ byteOrder ของ BinaryFormat.ByteOrder เพื่อให้การอ่านค่าเลขจากไบนารีถูกต้อง
ByteOrder.Type คือชุดค่าคงที่ที่ใช้กำหนดลำดับไบต์ (Endian) เวลาตีความข้อมูลไบนารี เช่น Little Endian หรือ Big Endian โดยมักใช้เป็นพารามิเตอร์ให้กับ BinaryFormat.ByteOrder
เมื่อรับไฟล์/สตรีมไบนารีจากระบบอื่น ให้กำหนด ByteOrder ให้ตรงกับรูปแบบของไฟล์ เพื่อหลีกเลี่ยงการอ่านค่าเพี้ยน
กำหนด ByteOrder.LittleEndian แล้วอ่าน UnsignedInteger16 จากไบนารี {1,0} จะได้ค่า 1 เพราะไบต์น้อยมาก่อน
กำหนด ByteOrder.BigEndian แล้วอ่าน UnsignedInteger16 จากไบนารีเดียวกัน {1,0} จะได้ 256 เพราะไบต์มากมาก่อน
บาง BinaryFormat ใช้ค่าเริ่มต้นเป็น Big Endian ตามเอกสาร จึงควรกำหนด ByteOrder ให้ชัดเจนเมื่อรูปแบบไฟล์เป็น Little Endian
ให้ดูสเปกของไฟล์/โปรโตคอลต้นทาง ถ้าระบุว่า Little Endian ให้ใช้ ByteOrder.LittleEndian ถ้าเป็น Big Endian ให้ใช้ ByteOrder.BigEndian เพื่ออ่านค่าเลขถูกต้อง
ฟังก์ชันที่ผู้เขียนโยงไว้กับ ByteOrder.Type จัดกลุ่มตามหมวด · ชี้ที่ชื่อใดชื่อหนึ่ง แล้วฟังก์ชันที่ใช้คู่กันจะมีจุดทอง
BinaryFormat.ByteOrder ระบุลำดับไบต์ (Big Endian หรือ Little Endian) สำหรับการอ่านข้อมูล
ยังไม่มีบทความที่เกี่ยวข้องกับฟังก์ชันนี้
Comments
อีเมลของคุณจะไม่ถูกเผยแพร่