สตรีมไบต์มีดีไบต์ แบ่งออกเป็นสิ่งที่มันเป็นจริง 8 บิตประกอบด้วย 1s และ 0s ถ้ามันเป็นตัวแทนของตัวเลขก็จะเป็นจำนวนใด ๆ จาก 0 ถึง 255 (ซึ่งฉันอาจเพิ่มเป็นเรื่องบังเอิญไม่ได้ว่าทำไมตัวเลข 4 ในที่อยู่ IP มักจะอยู่ในช่วง 0 ถึง 255) Byte streamเป็นอินเทอร์เฟซที่ซับซ้อนหมายถึงการซ่อน Array Array พื้นฐานพื้นฐานที่ใช้ในการเก็บบัฟเฟอร์แบบวงกลม (คุณเติมบัฟเฟอร์และรอให้ใครบางคนทำการล้างข้อมูลในเวลาที่มันเติมบัฟเฟอร์อีกครั้ง)
ห่านั้นทำหน้าที่อะไร? มันสามารถแสดงไฟล์ข้อความหรือรูปภาพหรือสตรีมวิดีโอสดได้ สิ่งที่มันเป็นทั้งหมดขึ้นอยู่กับบริบทของผู้ที่อ่านมัน การแทนเลขฐานสิบหกเป็นอีกวิธีหนึ่งในการพูดสิ่งเดียวกันแม้ว่าบางครั้งจะสะดวกกว่าในการจัดการไบต์ในแง่ของการแสดงเลขฐานสิบหกของพวกเขามากกว่าตัวเลข แต่มันก็เป็นสิ่งเดียวกัน
เมื่อคุณอ้างถึงข้อมูลดิบคุณมักจะอ้างถึงข้อมูลไบต์ ข้อมูลมาโดยไม่มีแท็กที่บอกว่า "ฉันเป็นไฟล์รูปภาพ!" โดยปกติคุณจะจัดการกับข้อมูลดิบเมื่อคุณไม่สนใจว่าข้อมูลจะแสดงถึงอะไรโดยรวม ตัวอย่างเช่นถ้าฉันต้องการแปลงรูปภาพเป็นรุ่นขาวดำฉันอาจบอกให้อ่านข้อมูลดิบของรูปภาพและอ่านทุก ๆ 3 ไบต์ (ซึ่งจริงๆแล้วจะเป็นตัวแทนของสีแดงเป็นตัวแทนของสีเขียวและเป็นตัวแทนของ สีฟ้า) เพิ่มค่าตัวเลขและหารด้วย 3 แล้วเขียนค่านั้น 3 ครั้ง สิ่งสำคัญที่ฉันจะทำคือการเฉลี่ยค่าพิกเซลสีแดงสีเขียวและสีฟ้าของพิกเซลและทำให้พิกเซลเทียบเท่าสีเทาจากนั้น อย่างไรก็ตามเมื่อคุณพูดคุยเกี่ยวกับการดำเนินการกับข้อมูลในระดับ "byte byte" คุณไม่ต้อง '
หรือบางทีคุณอาจต้องการบันทึกไฟล์ในฐานข้อมูล แต่ขอให้คุณใส่ "ข้อมูลดิบ" ในประเภทข้อมูลหยด นี่หมายถึงการแปลงข้อมูลของไฟล์เป็นอาเรย์ขนาดใหญ่ที่ฐานข้อมูลสามารถเข้าใจและจัดการได้ คุณจะพบว่าเมื่อคุณดึงค่าจากฐานข้อมูลมันจะเป็นเพียงหนึ่งไบต์ขนาดใหญ่ตามที่คุณให้ไว้ในฐานข้อมูลเพื่อเริ่มต้นด้วย หากข้อมูลนั้นเป็นไฟล์ดังนั้นโปรแกรมเมอร์ของคุณจะต้องตีความข้อมูลไบต์นั้นใหม่ราวกับว่าคุณกำลังอ่านไฟล์ทีละหนึ่งไบต์
หากมีคนขอให้คุณ "ย้อนกลับข้อมูล 4 ไบต์" ฉันจะถือว่ามันหมายถึงการตีความตัวเลขขนาดใหญ่และการแปลเล็ก ๆ น้อย ๆ ซึ่งเขียนตัวเลขที่เริ่มต้นด้วยไบต์ที่มีนัยสำคัญมากที่สุดหรือน้อยที่สุด ไม่สำคัญว่าตัวเลขจะถูกแสดงว่าเป็น big-endian หรือ little-endian เพียงแค่ว่าทุกระบบที่อ่านตัวเลขตีความมันอย่างสม่ำเสมอ
นี่ไม่ได้เป็นการบอกว่าการแสดงตัวเลขจริง (หรือการแทนเลขฐานสิบหกสำหรับเรื่องนั้น) มีการเปลี่ยนแปลงเพียงว่าลำดับที่ 4 ไบต์เหล่านี้สร้างตัวเลขควรกลับรายการ สมมติว่าคุณมี 0x01, 0x02, 0x03 และ 0x04 หากต้องการย้อนกลับคุณต้องมี 0x04, 0x03, 0x02, 0x01 แทน ระบบน่าจะอ่าน 4 ไบต์เหล่านี้ในลำดับย้อนกลับและเนื่องจากคุณได้กลับรายการไปแล้วค่าจะถูกตีความว่าเป็นค่าเดียวกันกับที่ตั้งใจไว้ในข้อมูลดิบ
ฉันหวังว่ามันจะอธิบาย!