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值格式化

Download history 21998/week @ 2024-04-22 22279/week @ 2024-04-29 20645/week @ 2024-05-06 18266/week @ 2024-05-13 17632/week @ 2024-05-20 16563/week @ 2024-05-27 17311/week @ 2024-06-03 17702/week @ 2024-06-10 18533/week @ 2024-06-17 20488/week @ 2024-06-24 16812/week @ 2024-07-01 21273/week @ 2024-07-08 20797/week @ 2024-07-15 20007/week @ 2024-07-22 21211/week @ 2024-07-29 19947/week @ 2024-08-05

83,573 每月下载量
用于 53 个 crate(42 个直接使用)

BSD-2-Clause

10KB
136

human_bytes

A Rust crate & 命令行界面,用于将字节转换为可读值。

License Latest version Build status

可以通过禁用 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
  • 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