bytes

中文文档
3.1.2发布于 2022/01/28MIT零依赖近 30 天下载 5.7亿

Utility to parse a string bytes to bytes and vice-versa

原始使用文档
文档目录3 节
  1. Installation
  2. Usage
  3. License

Bytes utility

NPM Version NPM Downloads Build Status Test Coverage

Utility to parse a string bytes (ex: 1TB) to bytes (1099511627776) and vice-versa.

Installation

This is a Node.js module available through the npm registry. Installation is done using the npm install command:

$ npm install bytes

Usage

var bytes = require('bytes');

bytes(number|string value, [options]): number|string|null

Default export function. Delegates to either bytes.format or bytes.parse based on the type of value.

Arguments

NameTypeDescription
valuenumber|stringNumber value to format or string value to parse
optionsObjectConversion options for format

Returns

NameTypeDescription
resultsstring|number|nullReturn null upon error. Numeric value in bytes, or string value otherwise.

Example

bytes(1024);
// output: '1KB'

bytes('1KB');
// output: 1024

bytes.format(number value, [options]): string|null

Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is rounded.

Arguments

NameTypeDescription
valuenumberValue in bytes
optionsObjectConversion options

Options

PropertyTypeDescription
decimalPlacesnumber|nullMaximum number of decimal places to include in output. Default value to 2.
fixedDecimalsboolean|nullWhether to always display the maximum number of decimal places. Default value to false
thousandsSeparatorstring|nullExample of values: ' ', ',' and '.'... Default value to ''.
unitstring|nullThe unit in which the result will be returned (B/KB/MB/GB/TB). Default value to '' (which means auto detect).
unitSeparatorstring|nullSeparator to use between number and unit. Default value to ''.

Returns

NameTypeDescription
resultsstring|nullReturn null upon error. String value otherwise.

Example

bytes.format(1024);
// output: '1KB'

bytes.format(1000);
// output: '1000B'

bytes.format(1000, {thousandsSeparator: ' '});
// output: '1 000B'

bytes.format(1024 * 1.7, {decimalPlaces: 0});
// output: '2KB'

bytes.format(1024, {unitSeparator: ' '});
// output: '1 KB'

bytes.parse(string|number value): number|null

Parse the string value into an integer in bytes. If no unit is given, or value is a number, it is assumed the value is in bytes.

Supported units and abbreviations are as follows and are case-insensitive:

  • b for bytes
  • kb for kilobytes
  • mb for megabytes
  • gb for gigabytes
  • tb for terabytes
  • pb for petabytes

The units are in powers of two, not ten. This means 1kb = 1024b according to this parser.

Arguments

NameTypeDescription
valuestring|numberString to parse, or number in bytes.

Returns

NameTypeDescription
resultsnumber|nullReturn null upon error. Value in bytes otherwise.

Example

bytes.parse('1KB');
// output: 1024

bytes.parse('1024');
// output: 1024

bytes.parse(1024);
// output: 1024

License

MIT

版本与发布记录

bytes 共发布 18 个版本,首次发布于 2012/06/11;过去 12 个月发布了 0 个版本。

版本发布日期距今
3.1.2latest2022/01/284 年前
3.1.12021/11/164 年前
3.1.02019/01/237 年前
3.0.02017/09/019 年前
2.5.02017/03/259 年前
2.4.02016/06/0210 年前

关于 bytes 的常见问题

bytes 是什么?

Utility to parse a string bytes to bytes and vice-versa

如何安装 bytes?

在项目目录运行 npm install bytes,或使用 pnpm add / yarn add / bun add。

bytes 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/bytes 是否存在。

bytes 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >= 0.8。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

bytes 可以商用吗?

bytes 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

bytes 的下载量有多少?

根据 npm 官方下载统计,bytes 在 2026/10/05 – 2026/11/03 这 30 天内被下载 571,911,362 次,日均约 19,063,712 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

bytes 还在维护吗?

最新版本 3.1.2 发布于 2022/01/28(4 年前);至今共发布 18 个版本,其中过去 12 个月发布了 0 个;首次发布于 2012/06/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。