Розмір файлів в ОС Windows. (Це КБ або КБ?)


20

Один "кілобайт" (КБ) становить 1024 байт у стандарті JEDEC, тоді як визначення змістилося в більшості контекстів до значення 1000 байт (кБ) відповідно до SI. Для усунення цієї різниці використовуються двійкові префікси (kiB).

Отже, у нас є 3 варіанти використання префіксів - JEDEC, IEC (обидва у двійковій) та метричні (у десятковій).

Мої запитання:

  1. Який стандарт префіксу використовує Windows для показу розміру файлу? (звичайно, це не стандарт IEC)
  2. Чому ОС Windows показує розміри файлів у КБ (з використанням великої літери "K"), коли це невеликий алфавіт "k" для одиниць Kilo в SI?

Капітал "К" представляє Кельвіна в системі одиниць СІ.

Я щось тут пропускаю в розумінні?


9
@Luaan: Конвенції SI - це найпоширеніші конвенції на сьогодні для одиниць, навіть для одиниць, що не належать до СІ. Наприклад, вони намагаються запустити LHC на 13 ТеВ, але eV (електрон-вольт) не є СІ. Якщо ви говорите, що рівень шуму навколишнього середовища дорівнює 40 дБ, B (bel) також не є СІ.
Дітріх Епп

2
@DietrichEpp: Це все-таки фізика. Байт не є одиницею фізики; фізики вимірюють інформацію як ентропію (одиниця: J / K).
MSalters

3
Відповідно: xkcd.com/394
basic6

3
@MSalters: "Бел" - це не фізика, це абстрактна одиниця, як байт.
Дітріх Епп

2
Я маю на увазі "абстрактне", оскільки Бел не відповідає жодній конкретній (або фізичній) системі. Він використовується лише для вираження співвідношення, навіть не відношення чогось конкретного (наприклад, потужності). Наприклад, при цифровій обробці сигналу дБ буде використовуватися для вираження співвідношень цифрових сигналів, які не мають фізичних одиниць для початку. Тому я категорично не погоджуюся з думкою, що децибел є "фізичною" одиницею або пов'язаний з фізикою будь-яким особливим чином.
Дітріх Епп

Відповіді:


41

Я відповім на ваше запитання якомога прямо, оскільки використання KB проти KiB проти kB проти kb швидко породить дискусію поза темою, оскільки ця війна з назвою конвенцій триває вже десятиліттями.

1.) Який стандартний префікс Windows використовує для показу розміру файлу? (звичайно, це не стандарт IEC)

Насправді це стандарт JEDEC 100B.01, що означає, що КБ (кілобайт) становить 1024 байти.

2.) Чому ОС Windows показує розмір файлів у КБ (з використанням великого алфавіту "K"), коли це невеликий алфавіт "k" для Кіло в одиницях SI.

Знову ж таки, тому що це стандарт JEDEC 100B.01 для префіксів одиниць для ємності накопичувача напівпровідників; це не одиниця виміру СІ, і тому не має однакового значення.

Нижній регістр kможе бути синонімом верхнього регістру Kпри роботі з kilo/ kibi; для giga, megaі tera, JEDEC , ISO і BIPM SI норми префіксу визначають їх як великі G, так Mі Tвідповідно. Рядковий g, mі tвикористовуються тільки в неформальних ситуаціях, коли контекст дає значення (як я тільки вивантажено моєму 1gb NIC або моєму 2TB HDD не працює ), і самі по собі є недійсною.

Капітал "К" представляє Кельвіна в системі одиниць СІ. Я щось тут пропускаю в розумінні?

Так, капітал Kявляє собою, Kelvinколи ви конкретно говорите про вимірювання температури та маєте справу з одиницями вимірювання СІ, однак, ми маємо справу з ємністю накопичувача напівпровідників, і я б не сказав, що я маю 512 KB of RAMі маю на увазі, що я маю 512 Kelvin Bytes of RAM. Крім того, це дійсно залежить від контексту, щоб знати, коли / як розмежовувати IEC / JEDEC та SI одиниці вимірювання KB / MB / GB / тощо.

Більшість ОС і переважна більшість пристроїв, що займаються пам’яттю / зберіганням, використовують префікси Kдля Kilo, щоб означати 1024 байти, тому, коли я отримую оперативну пам’ять, яка говорить про модуль 4 Гб, я знаю, що це 4 Gibi -Bytes (4 * 1024 * 1024 * одна тисяча двадцять чотири) , а не Giga -Bytes (4 * 1000 * 1000 * 1000).

Основним винятком з цього є потужність приводу; коли я куплю флешку або жорсткий диск, я знаю , коли він говорить , 32GB, це означає , що 32 Giga -Bytes (32 * 1000 * 1000 * 1000) , а не GİBİ -Bytes (32 * 1024 * 1024 * 1024), хоча мій ОС повідомить про це в гібі-байтах (і таким чином перейме мій диск від 32 ГБ до ефективного накопичувача на 29,8 ГБ). Також зауважте, що є деякі аромати Linux, які хочуть використовувати KB для позначення 1000 байт незалежно від контексту, і це може дещо заплутатися, оскільки не всі програми в одній ОС повідомляють розміри однакові. Більшість виробників пристроїв зазвичай ставлять відмову десь на "коробці" (або веб-сайті тощо), щоб позначити, що вони мають на увазі, коли вони говорять про KB / GB / тощо, як на коробках жорсткого диска, на яких є відмова від відповідальності *1GB = 1000000000 bytes.

Якщо вас коли-небудь плутає в тому, у якому стилі ваша ОС звітує вам, ви завжди можете переглянути, скільки байтів у файлі, а потім зробити математику, щоб побачити, що вам говорить ваша ОС ("розмір файлу", а не "розмір на диску", оскільки це різні речі); якщо ваша ОС не може сказати вам кількість необроблених байтів, існують більші проблеми, крім того, який суфікс використовується.

Або як сказав Рандалл: кілобайт


7
"Більшість ОС і переважна більшість пристроїв, що займаються пам'яттю / зберіганням, використовують префікси K для Kilo, щоб означати 1024 байти" Починаючи з 10.6, OS X вже не робить. Це досить значна ОС.
Sören Kuklau

2
@Ramhound: Не могли б ви знайти джерело для цього? OS X, схоже, використовує правильні префікси за замовчуванням у моїй системі, і я не бачу можливості змінити її. Існує можливість вибору метричних або американських одиниць, але немає можливості використовувати бінарні префікси.
Дітріх Епп

1
MacOS та деякі дистрибутиви Linux, такі як Ubuntu, перейшли до десяткового префікса, щоб розмір файлу відповідав розміру жорсткого диска. KB = 1000 байт і GB = 1000 байт
phuclv

4
Жорсткі диски не є "винятком". "ГБ" на DVD - це десяткові гігабайти. Десяткові префікси також використовуються для ємності стрічки, швидкості мережі ("гігабітний Ethernet" становить 1000 ^ 3 біт / с), тактової частоти процесора та шини та рейтингів пропускної здатності, а в старі часи - так звана "швидкість передачі даних" на серійний порти. Якщо нічого, оперативна пам'ять є винятком майже для кожного іншого продукту в полі з використанням десяткових префіксів. Чомусь Провідник Windows вирішив перейти до конвенції JEDEC замість тієї, яку використовують виробники жорстких дисків, що містять файли, про які розповідає Explorer.
Джеймі Ханрахан

2
@JamieHanrahan: накопичувач накопичувачів історично використовував сектори з потужністю двох розмірів та шматки розподілу, які були потужністю двох секторів. 360K дискета містила 720 секторів по 512 байтів кожен; дискета "1,44 Мб" мала 2880 таких секторів ["мегабайт" - 1024 000 байт]. Тільки після збільшення об'єму приводів мегабайт зменшився.
supercat

14

У Windows Explorer KB означає кілобайт, де він посилається на двійкові кілограми - 1024 байти. Провідник використовує велику величину "K" для "вказівки" на двійковий код на відміну від малого регістру "k", який є стандартним кілофіксом у SI для значення 1000

Повідомлення в блозі Раймонда Чена Чому Explorer використовує термін KB замість KiB? дає огляд, чому Windows не використовує KiB.

Якщо озирнутися навколо вас, ви побачите, що ніхто (до експериментальної помилки) не використовує терміни кібібайт та KiB. Купуючи пам'ять комп’ютера, кількість визначається в мегабайти та гігабайти, а не в мебібайтах і гібібайтах. Ємність, розміщена на вашому чистому компакт-диску, вказана в мегабайтах. Кожен документ в Інтернеті (в експериментальній помилці), в якому йдеться про пам'ять і зберігання, використовує терміни кілобайт / КБ, мегабайт / МБ, гігабайт / ГБ і т.д. / KiB, mebibyte / MiB, gibibyte / GiB тощо.

Провідник лише дотримується існуючої практики. Усі (до експериментальної помилки) відносять 1024 байти як кілобайт, а не кібібайт. Якби Explorer перейшов на термін "кібібайт", він би просто відображав інформацію користувачів у формі, яку вони не можуть зрозуміти, і з якою метою?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.