ใครช่วยอธิบายหน่อยได้ไหมว่าฉันไม่เข้าใจแนวคิด
Byte Array คืออะไร?
เราใช้มันในแอพพลิเคชั่น / โปรแกรมที่ไหนและเมื่อไหร่?
ข้อดีและข้อเสียของการใช้ไบต์อาร์เรย์คืออะไร?
ใครช่วยอธิบายหน่อยได้ไหมว่าฉันไม่เข้าใจแนวคิด
Byte Array คืออะไร?
เราใช้มันในแอพพลิเคชั่น / โปรแกรมที่ไหนและเมื่อไหร่?
ข้อดีและข้อเสียของการใช้ไบต์อาร์เรย์คืออะไร?
คำตอบ:
ไบต์คือ 8 บิต (ข้อมูลไบนารี)
อาร์เรย์ไบต์คืออาร์เรย์ของไบต์ (tautology FTW!)
คุณสามารถใช้อาร์เรย์แบบไบต์เพื่อจัดเก็บชุดข้อมูลไบนารีตัวอย่างเช่นเนื้อหาของไฟล์ ข้อเสียคือต้องโหลดเนื้อหาไฟล์ทั้งหมดลงในหน่วยความจำ
สำหรับข้อมูลไบนารีจำนวนมากคุณควรใช้ประเภทข้อมูลสตรีมมิ่งหากภาษาของคุณรองรับ
The downside to this is that the entire file contents must be loaded into memory.
ไหม
ฉันถือว่าคุณรู้ว่าไบต์คืออะไร อาร์เรย์ไบต์เป็นเพียงพื้นที่ของหน่วยความจำที่มีกลุ่มของไบต์ที่ต่อเนื่องกัน (เคียงข้างกัน) ดังนั้นจึงเหมาะสมที่จะพูดถึงพวกมันตามลำดับ: ไบต์แรกไบต์ที่สองเป็นต้น
เช่นเดียวกับไบต์สามารถเข้ารหัสประเภทและช่วงของข้อมูลที่แตกต่างกัน (ตัวเลขตั้งแต่ 0 ถึง 255 ตัวเลขตั้งแต่ -128 ถึง 127 อักขระเดี่ยวที่ใช้ ASCII เช่น 'a' หรือ '%', รหัส op ของ CPU) แต่ละไบต์ในอาร์เรย์ไบต์ อาจเป็นสิ่งเหล่านี้หรือมีส่วนทำให้เกิดค่าหลายไบต์เช่นตัวเลขที่มีช่วงที่ใหญ่กว่า (เช่น 16-bit unsigned int จาก 0..65535) ชุดอักขระสากลสตริงข้อความ ("สวัสดี") หรือบางส่วน / โปรแกรมคอมพิวเตอร์ที่คอมไพล์ทั้งหมด
สิ่งที่สำคัญเกี่ยวกับอาร์เรย์ไบต์คือมันให้การเข้าถึงที่จัดทำดัชนี (เร็ว) แม่นยำและเข้าถึงค่า 8 บิตแต่ละค่าที่เก็บไว้ในส่วนของหน่วยความจำนั้นและคุณสามารถใช้งานไบต์เหล่านั้นเพื่อควบคุมทุกๆบิตได้ สิ่งที่ไม่ดีคือคอมพิวเตอร์จะถือว่าทุกรายการเป็นตัวเลข 8 บิตอิสระซึ่งอาจเป็นสิ่งที่โปรแกรมของคุณกำลังจัดการอยู่หรือคุณอาจชอบประเภทข้อมูลที่มีประสิทธิภาพเช่นสตริงที่ติดตามความยาวของตัวเองและเพิ่มขึ้น ตามความจำเป็นหรือตัวเลขทศนิยมที่ช่วยให้คุณสามารถจัดเก็บคำพูด 3.14 ได้โดยไม่ต้องคำนึงถึงการแทนค่าบิต ในฐานะประเภทข้อมูลการแทรกหรือลบข้อมูลใกล้จุดเริ่มต้นของอาร์เรย์แบบยาวจะไม่มีประสิทธิภาพเนื่องจากจำเป็นต้องสับองค์ประกอบที่ตามมาทั้งหมดเพื่อสร้างหรือเติมช่องว่างที่สร้าง / ต้องการ
จากวิกิพีเดีย :
ในวิทยาการคอมพิวเตอร์โครงสร้างข้อมูลอาร์เรย์หรืออาร์เรย์คือโครงสร้างข้อมูลที่ประกอบด้วยชุดขององค์ประกอบ (ค่าหรือตัวแปร) แต่ละตัวระบุด้วยดัชนีจำนวนเต็มตั้งแต่หนึ่งตัวขึ้นไปเก็บไว้เพื่อให้สามารถคำนวณที่อยู่ของแต่ละองค์ประกอบจากดัชนีได้ ทูเพิลด้วยสูตรทางคณิตศาสตร์อย่างง่าย
ดังนั้นเมื่อคุณพูดว่าไบต์อาร์เรย์คุณกำลังอ้างถึงอาร์เรย์ของความยาวที่กำหนดไว้บางส่วน (เช่นจำนวนองค์ประกอบ) ที่มีองค์ประกอบขนาดไบต์ (8 บิต)
ใน C # อาร์เรย์ไบต์อาจมีลักษณะดังนี้:
byte[] bytes = { 3, 10, 8, 25 };
ตัวอย่างด้านบนกำหนดอาร์เรย์ของ 4 องค์ประกอบโดยแต่ละองค์ประกอบสามารถมีความยาวได้ไม่เกินไบต์