9 个版本
0.4.3 | 2023 年 9 月 10 日 |
---|---|
0.4.2 | 2023 年 4 月 30 日 |
0.4.1 | 2022 年 10 月 28 日 |
0.3.1 | 2022 年 2 月 23 日 |
0.1.0 | 2020 年 2 月 7 日 |
#14 在 值格式化 中
83,573 每月下载量
用于 53 个 crate(42 个直接使用)
10KB
136 行
human_bytes
A Rust crate & 命令行界面,用于将字节转换为可读值。
可以通过禁用 si-units
功能来返回 KiB/MiB/GiB/TiB 或 KB/MB/GB/TB。
1 KiB = 1024 B, 1 KB = 1000 B
它支持从 0 字节到几 yottabytes(我无法确定具体数量,因为我必须使用 u128
来适应单个 YB)
使用方法
作为命令行界面
- (可选) 安装 Just
- 构建
- 使用 just:
just build-binary
- 使用 cargo:
cargo build --release --features 'build-binary fast' --bin hb
- 使用 just:
- 将
target/release/hb
复制到您的$PATH
中的某个位置 - 运行
hb <bytes>
或echo <bytes> | hb
作为库
将其添加到您的 Cargo.toml
[dependencies]
human_bytes = "0.4"
# or, to disable the SI Units:
human_bytes = { version = "0.4", default-features = false }
然后
use human_bytes::human_bytes;
assert_eq!(human_bytes(563_200_u32), "550 KiB".to_string());
// or
assert_eq!(human_bytes(563_200_u64 as f64), "550 KiB".to_string());
// ________________________________/
// |
// | Needed only when you're using `u64` values,
// | because `f64` doesn't implement `std::convert::From<u64>`
// With the `si-units` feature disabled:
assert_eq!(human_bytes(550_000_u32), "550 KB".to_string());
该库无依赖项,但可以通过启用 fast
功能来提高速度,该功能将使用 ryu 将浮点数转换为字符串,从而从使用 std::format!
切换。
[dependencies]
human_bytes = { version = "0.4", features = ["fast"] }
关于
代码基于我在这里找到的 PHP 函数 这里。
它很有用,因为您不需要提供前缀,它会自动完成。它总是返回 1 MiB
而不是 1024 KiB
。
它包含我编写的测试,以检查转换是否正确,并且它返回小数(例如 16.5 GiB
)
更新日志
请检查 CHANGELOG.md
许可证
BSD 2-clause (c) 2020-2022 Namkhai B.
依赖项
~67KB