Ennek a projektnek az a célja, hogy egy kis könyvtárat biztosítson, amely megkönnyítené a bájtokban mért általános műveleteket. Sok projektnek a bájtokban megadott méretekkel kell dolgoznia (legyen szó tárterületről, memóriáról stb.), és mindegyiknek ugyanazokkal a problémákkal kell foglalkoznia, mint például:
Hogyan szerezzünk ember által olvasható karakterláncot a megadott mérethez?
Hogyan tároljuk a megadott méretet úgy, hogy ne vesszen el jelentős információ?
Ha a méretet bájtban tároljuk, mi van, ha az adott méret meghaladja a MAXUINT64 értéket?
Hogyan kell értelmezni a felhasználók által beírt méreteket a területi beállítások és a gépelési szokások szerint?
Hogyan kezeljük a decimális/bináris egységek (MB vs. MiB) kétértelműségét?
Egyes projektek a fenti kérdéseket/aggályokat jól megválaszolják, vannak olyanok, amelyek részben megválaszolták őket, és vannak, amelyek egyszerűen nem érdekelnek. Azonban a (rész)megoldások több helyen való megvalósítása minden alkalommal más-más hibakészlettel, viselkedésbeli különbségekkel és ennek hiányával idő- és erőfeszítéspazarlás. Szükségünk van egy általánosan használható megoldásra, amelyet minden olyan projekt használhat, amelynek a bájtban megadott méretekkel kell foglalkoznia.
Mivel a cél az, hogy minél általánosabban használható megoldást nyújtsunk, az implementációnak kicsinek, gyorsnak kell lennie, és olyan nyelven kell megírni, amely könnyen illeszthető más nyelvekről. A jelenlegi kézenfekvő választás a C nyelv vékony kötésekkel más nyelvekhez.
bscalc [-h] [--version] [-u {B,KiB,MiB,GiB,TiB,PiB,EiB,KB,MB,GB,TB,PB,EB}] [-b] [-k] [-m] [-g] [-t] [-p] [-e] [--KB] [--MB] [--GB] [--TB] [--PB] [--EB] [-H] EXPRESSION_PART [EXPRESSION_PART ...]bscalc [OPTIONS] EXPRESSION_PART [EXPRESSION_PART ...]
Ahol az EXPRESSION_PART pozíciós argumentumok.
jelenítse meg ezt a súgóüzenetet, és lépjen ki
mutasd meg a program verziószámát és lépj ki
Mértékegység az eredmény megjelenítéséhez
Eredmény megjelenítése bájtban
Eredmény megjelenítése KiB-ben
Eredmény megjelenítése MiB-ben
Eredmény megjelenítése GiB-ban
Eredmény megjelenítése TiB-ben
Eredmény megjelenítése PiB-ben
Eredmény megjelenítése EiB-ben
Eredmény megjelenítése KB-ban
Eredmény megjelenítése MB-ban
Eredmény megjelenítése GB-ban
Eredmény megjelenítése TB-ben
Eredmény megjelenítése PB-ben
Eredmény megjelenítése EB-n
Csak egyetlen „legjobb” eredmény megjelenítése
Jelentse a problémákat a https://github.com/storaged-project/libbytesize/issues címen
1. 1000000000000 bájt konvertálása magasabb egységekre:
bscalc 1000000000000
Kimenet:
1000000000000 B
976562500.00 KiB
953674.32 MiB
931.32 GiB
0.91 TiB2. Alakítsa át 1000000000000 bájtot a legmegfelelőbb magasabb egységre:
bscalc -H 1000000000000
Kimenet:
931.32 GiB