ขนาดของไฟล์ใน Windows OS (มันเป็น KB หรือ kB?)


20

หนึ่ง "กิโลไบต์" (KB) คือ 1024 ไบต์ในมาตรฐาน JEDEC ในขณะที่คำจำกัดความได้เปลี่ยนไปในบริบทส่วนใหญ่เพื่อหมายถึง 1,000 ไบต์ (kB) ตาม SI ในการแก้ไขความแตกต่างนี้จะใช้คำนำหน้าไบนารี (kiB)

ดังนั้นเราจึงมี 3 ตัวเลือกสำหรับการใช้คำนำหน้า - JEDEC, IEC (ทั้งในแบบไบนารี) และตัวชี้วัด (ในทศนิยม)

คำถามของฉันคือ -

  1. Windows ใช้คำนำหน้ามาตรฐานในการแสดงขนาดไฟล์อย่างไร (แน่นอนว่าไม่ใช่มาตรฐาน IEC)
  2. เหตุใด Windows OS จึงแสดงไฟล์ขนาดเป็น KB (ใช้ตัวพิมพ์ใหญ่ "K") เมื่อเป็นตัวอักษร "k" สำหรับ Kilo ในหน่วย SI

ทุน "K" แทนเคลวินในระบบหน่วย SI

ฉันขาดความเข้าใจที่นี่หรือไม่


9
@Luaan: SI ประชุมมีการประชุมที่พบมากที่สุดโดยไกลสำหรับหน่วยแม้สำหรับหน่วยที่ไม่ใช่ SI ตัวอย่างเช่นพวกเขากำลังพยายามเรียกใช้ LHC ที่ 13 TeV แต่ eV (อิเล็กตรอนโวลต์) ไม่ใช่ SI เมื่อคุณพูดว่าระดับเสียงรบกวนรอบข้างคือ 40 เดซิเบล B (เบล) ไม่ใช่ SI เช่นกัน
Dietrich Epp

2
@DietrichEpp: นั่นคือฟิสิกส์ ไบต์ไม่ใช่หน่วยของฟิสิกส์ นักฟิสิกส์วัดข้อมูลว่าเป็นเอนโทรปี (หน่วย: J / K)
MSalters

3
ที่เกี่ยวข้อง: xkcd.com/394
พื้นฐาน 6

3
@MSalters: "Bel" ไม่ใช่ฟิสิกส์มันเป็นหน่วยนามธรรมเช่นไบต์
Dietrich Epp

2
ฉันหมายถึง "นามธรรม" โดยที่เบลไม่สอดคล้องกับระบบที่เป็นรูปธรรมใด ๆ (หรือทางกายภาพ) มันใช้เพื่อแสดงอัตราส่วนเท่านั้นไม่ใช่แม้แต่อัตราส่วนของบางสิ่งโดยเฉพาะ (เช่นพลังงาน) ตัวอย่างเช่นในการประมวลผลสัญญาณดิจิตอลเดซิเบลจะใช้ในการแสดงอัตราส่วนของสัญญาณดิจิตอลที่ไม่มีหน่วยทางกายภาพที่จะเริ่มต้นด้วย ดังนั้นฉันจึงไม่เห็นด้วยอย่างยิ่งกับความคิดที่ว่าเดซิเบลเป็นหน่วย "กายภาพ" หรือเชื่อมต่อกับฟิสิกส์ในลักษณะพิเศษใด ๆ
Dietrich Epp

คำตอบ:


41

ฉันจะตอบคำถามของคุณโดยตรงเท่าที่จะเป็นไปได้เนื่องจากการใช้ KB กับ KiB กับ kB กับ kb จะทำให้เกิดการอภิปรายนอกหัวข้อได้อย่างรวดเร็วเนื่องจากสงครามการตั้งชื่อนั้นเกิดขึ้นมานานหลายทศวรรษแล้ว

1. ) คำนำหน้ามาตรฐานของ Windows ที่ใช้ในการแสดงขนาดไฟล์คืออะไร (แน่นอนว่าไม่ใช่มาตรฐาน IEC)

ที่จริงแล้วเป็นมาตรฐานJEDEC 100B.01ซึ่งหมายความว่า KB (Killobyte) คือ 1024 ไบต์

2. ) เหตุใด Windows OS จึงแสดงขนาดไฟล์เป็น KB (ใช้ตัวพิมพ์ใหญ่ "K") เมื่อเป็นตัวอักษร "k" ตัวเล็กสำหรับ Kilo ในหน่วย SI

อีกครั้งเนื่องจากเป็นมาตรฐานJEDEC 100B.01สำหรับส่วนนำหน้าของหน่วยสำหรับความจุของสารกึ่งตัวนำ มันไม่ใช่หน่วยวัด SI ดังนั้นจึงไม่มีความหมายเหมือนกัน

ตัวพิมพ์เล็กkสามารถพ้องกับตัวพิมพ์ใหญ่Kเมื่อจัดการกับkilo/ kibi; สำหรับgiga, megaและtera, JEDEC , ISOและBIPM SIบรรทัดฐานคำนำหน้ากำหนดให้เป็นตัวพิมพ์ใหญ่G, MและTตามลำดับ ตัวพิมพ์เล็กg, mและtจะใช้เฉพาะในสถานการณ์ที่ไม่เป็นทางการเมื่อบริบทให้ความหมาย (ในขณะที่ฉันเพียงแค่สลับออก 1gb NIC ของฉันหรือHDD 2TB ฉันไม่ทำงาน ) และมีความต่อ seที่ไม่ถูกต้อง

ทุน "K" แทนเคลวินในระบบหน่วย SI ฉันขาดความเข้าใจที่นี่หรือไม่

ใช่ทุนKหมายถึงKelvinเมื่อคุณกำลังโดยเฉพาะพูดคุยเกี่ยวกับการตรวจวัดอุณหภูมิและการจัดการกับหน่วย SI ของการวัด แต่เราจะจัดการกับความจุเซมิคอนดักเตอร์และฉันจะไม่พูดฉันมีและหมายความว่าฉันมี512 KB of RAM 512 Kelvin Bytes of RAMยิ่งไปกว่านั้นมันขึ้นอยู่กับบริบทที่จะรู้ว่าเมื่อใด / อย่างไรที่จะแยกความแตกต่างระหว่างหน่วย IEC / JEDEC และ SI ของการวัด KB / MB / GB / etc

ระบบปฏิบัติการส่วนใหญ่และอุปกรณ์ส่วนใหญ่ที่จัดการกับหน่วยความจำ / พื้นที่เก็บข้อมูลใช้คำนำหน้าKสำหรับ Kilo เป็น 1024 ไบต์ดังนั้นเมื่อฉันได้รับ RAM ที่ระบุว่าเป็นโมดูล 4GB ฉันรู้ว่ามันคือ 4 Gibi -Bytes (4 * 1024 * 1024 * 1024) และไม่ใช่Giga -Bytes (4 * 1000 * 1000 * 1000)

ข้อยกเว้นที่สำคัญในเรื่องนี้คือความสามารถในการขับเคลื่อน เมื่อฉันซื้อ thumb drive หรือฮาร์ดไดรฟ์ฉันรู้ว่าเมื่อมีข้อความระบุว่า 32GB มันหมายถึง 32 Giga -Bytes (32 * 1,000 * 1000 * 1000) และไม่ใช่Gibi -Bytes (32 * 1024 * 1024 * 1024) แม้ว่าฉันจะซื้อ ระบบปฏิบัติการจะรายงานใน Gibi-Bytes (และนำไดรฟ์ของฉันจาก 32GB ไปยังไดรฟ์ 29.8 GiB ที่มีประสิทธิภาพ) นอกจากนี้โปรดทราบว่ามีบางรสชาติของ Linux ที่ต้องการใช้ KB เพื่อหมายถึง 1,000 ไบต์โดยไม่คำนึงถึงบริบทและอาจทำให้สับสนเนื่องจากแอปพลิเคชันทั้งหมดในระบบปฏิบัติการเดียวกันจะรายงานขนาดเท่ากัน ส่วนใหญ่ผู้ผลิตอุปกรณ์มักจะใส่บางข้อจำกัดความรับผิดชอบใน "กล่อง" (หรือเว็บไซต์อื่น ๆ ) เพื่อแสดงถึงสิ่งที่พวกเขาหมายถึงเมื่อพวกเขากล่าว KB / GB / ฯลฯ *1GB = 1000000000 bytesเช่นเดียวกับกล่องฮาร์ดไดรฟ์ที่มีข้อจำกัดความรับผิดชอบของ

หากคุณเคยสับสนกับรูปแบบที่ระบบปฏิบัติการของคุณกำลังรายงานให้คุณคุณสามารถดูได้ว่ามีกี่ไบต์ต่อไฟล์และจากนั้นให้ทำคณิตศาสตร์เพื่อดูว่าระบบปฏิบัติการของคุณกำลังบอกอะไรคุณ (ขนาดของไฟล์) ไม่ใช่ 'ขนาดบนดิสก์' เนื่องจากขนาดต่างกัน); หากระบบปฏิบัติการของคุณไม่สามารถบอกจำนวนไบต์ดิบได้คุณจะพบปัญหาที่ใหญ่กว่าการใช้คำต่อท้าย

หรือตามที่ Randall กล่าวไว้ กิโลไบต์


7
"ระบบปฏิบัติการส่วนใหญ่และอุปกรณ์ส่วนใหญ่ที่จัดการกับหน่วยความจำ / พื้นที่เก็บข้อมูลใช้คำนำหน้า K สำหรับ Kilo ที่มีความหมาย 1024 ไบต์" เริ่มต้นที่ 10.6, OS X จะไม่ทำอีกต่อไป นั่นเป็นระบบปฏิบัติการที่สำคัญพอสมควร
Sören Kuklau

2
@Ramhound: คุณสามารถหาแหล่งที่มาสำหรับสิ่งนี้ได้หรือไม่ OS X ดูเหมือนว่าจะใช้คำนำหน้าถูกต้องตามค่าเริ่มต้นในระบบของฉันและฉันไม่เห็นตัวเลือกที่จะเปลี่ยน มีตัวเลือกให้เลือกหน่วยเมตริกหรือหน่วยสหรัฐ แต่ไม่มีตัวเลือกสำหรับการใช้ส่วนนำหน้าแบบไบนารี
Dietrich Epp

1
MacOS และ Linux distros บางอย่างเช่น Ubuntu ได้เปลี่ยนเป็นคำนำหน้าทศนิยมเพื่อให้ขนาดไฟล์สอดคล้องกับขนาด HDD KB = 1,000 ไบต์และ GB = 1,000 ไบต์
phuclv

4
ฮาร์ดไดรฟ์ไม่ใช่ "ข้อยกเว้น" "GB" บนดีวีดีอยู่ในหน่วยกิกะไบต์ ทศนิยมนำหน้าใช้สำหรับความจุเทปความเร็วเครือข่าย ("กิกะบิตอีเธอร์เน็ต" คือ 1,000 ^ 3 บิต / วินาที) ความเร็วของ CPU และบัสนาฬิกาและการจัดอันดับแบนด์วิดธ์และในสมัยก่อนที่เรียกว่า "อัตราบอด" ในอนุกรม พอร์ต หากมีสิ่งใด RAM เป็นข้อยกเว้นสำหรับเกือบทุกผลิตภัณฑ์อื่น ๆ ในฟิลด์โดยใช้คำนำหน้าทศนิยม ด้วยเหตุผลบางอย่าง Windows Explorer ตัดสินใจที่จะทำตามข้อกำหนดของ JEDEC แทนที่จะเป็นข้อตกลงที่ใช้โดยผู้สร้างฮาร์ดไดรฟ์ที่มีไฟล์ Explorer กำลังบอกคุณ
เจมี่ Hanrahan

2
@JamieHanrahan: ที่เก็บข้อมูลไดรฟ์มีการใช้งานในอดีตที่มีขนาด power-of-two และ chunks การจัดสรรที่เป็นภาคของ power-of-two ฟล้อป 360K ถือ 720 ภาคของ 512 ไบต์ต่อ; ฟลอปปี้ "1.44MB" มี 2,880 เซกเตอร์ดังกล่าว [เดอะ "เมกะไบต์" คือ 1,024,000 ไบต์] หลังจากความจุของไดรฟ์มีขนาดใหญ่ขึ้นเมกะไบต์ก็ลดลง
supercat

14

ใน Windows Explorer KB หมายถึงกิโลไบต์ซึ่งหมายถึงกิโลไบต์เป็น 1024 ไบต์ Explorer ใช้เงินทุน 'K' เพื่อ“ ระบุ” ไบนารี่ซึ่งตรงข้ามกับตัวพิมพ์เล็ก 'k' ซึ่งเป็นคำนำหน้ามาตรฐานกิโลไบต์ใน SI หมายถึง 1,000

โพสต์บล็อกของ Raymond Chen เหตุใด Explorer จึงใช้คำว่า KB แทน KiB ให้ภาพรวมว่าทำไม Windows ไม่ใช้ KiB

หากคุณมองไปรอบ ๆ คุณจะพบว่าไม่มีใคร (ภายในข้อผิดพลาดทดลอง) ใช้คำศัพท์ kibibyte และ KiB เมื่อคุณซื้อหน่วยความจำคอมพิวเตอร์จำนวนเงินจะถูกระบุเป็นเมกะไบต์และกิกะไบต์ไม่ใช่ mebibytes และ gibibytes ความจุในการจัดเก็บข้อมูลที่พิมพ์บนแผ่นซีดีเปล่าของคุณมีหน่วยเป็นเมกะไบต์ ทุกเอกสารบนอินเทอร์เน็ต (ภายในข้อผิดพลาดการทดลอง) ที่พูดถึงหน่วยความจำและที่เก็บข้อมูลใช้เงื่อนไขกิโลไบต์ / KB, เมกะไบต์ / MB, กิกะไบต์ / GB ฯลฯ คุณต้องออกไปเพื่อหาคนที่ใช้เงื่อนไข kibibyte / KiB, mebibyte / MiB, gibibyte / GiB ฯลฯ

...

Explorer กำลังทำตามแนวทางปฏิบัติที่มีอยู่ ทุกคน (ภายในข้อผิดพลาดการทดลอง) อ้างถึง 1024 ไบต์เป็นกิโลไบต์ไม่ใช่กิโลไบต์ หาก Explorer ต้องเปลี่ยนไปใช้คำว่า kibibyte จะเป็นการแสดงข้อมูลผู้ใช้ในรูปแบบที่พวกเขาไม่สามารถเข้าใจได้และเพื่อจุดประสงค์ใด

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.