bytes2 v1.0.1
bytes2
_______ ___ ___ _______ _______ _______ _______
| _ | Y | | _ | _ | |
|. 1 | 1 |.| | |. 1___| 1___|___| |
|. _ \\_ _/`-|. |-|. __)_|____ |/ ___/
|: 1 \|: | |: | |: 1 |: 1 |: 1 \
|::.. . /|::.| |::.| |::.. . |::.. . |::.. . |
`-------' `---' `---' `-------`-------`-------'Convert bytes to another unit of information.
Note Implementation based on this wikipedia article.
Note Some related modules:
Install
npm install bytes2Examples
Require the module:
var bytes2 = require('bytes2');Convert 1000 bytes to KB:
var value = bytes2('KB', 1000)
console.log(value) // 1Convert 1000 bytes to KiB:
var value = bytes2('KiB', 1000)
console.log(value) // 0.9765625Convert 1000 bytes to KiB, showing only 2 decimal places:
var value = bytes2('KiB', 1000, { decimals: 2 })
console.log(value) // 0.98Convert 1000 bytes to KiB, prepending the units:
var value = bytes2('KiB', 1000, { prepend: true })
console.log(value) // '0.9765625 KiB'Convert 1000 bytes to jedecKB, prepending the units:
var value = bytes2('jedecKB', 1000, { prepend: true })
console.log(value) // '0.9765625 KB'Convert 1000 bytes to KiB, showing only 3 decimal places, prepending the units and using '-' as the seperator:
var value = bytes2('KiB', 1000, {
decimals: 3,
prepend: true,
seperator: '-',
})
console.log(value) // '0.977-KiB'bytes2(to, bytes, opts)
Returns bytes in to units of information.
| Option | Type | Default | Explanation |
|---|---|---|---|
| to | String | none | See table below |
| bytes | Number | none | Integer number of bytes to convert |
| opts | Object | see below | Options object, specify what you need the defaults will be filled in |
| opts.decimals | Number | all decimal places | The number of decimal places to round the result to |
| opts.prepend | String | false | Prepend the units and return a string |
| opts.seperator | String | ' ' | Specify what seperator to use with the prepend option |
Base-10, decimal, SI and metric:
to | Number of bytes |
|---|---|
| kB | 1000 |
| MB | 1000000 (1000^2) |
| GB | 1000000000 (1024^3) |
| TB | 1000000000000 (1024^4) |
| PB | 1000000000000000 (1024^5) |
| EB | 1000000000000000000 (1024^6) |
Base-2, binary and IEC
to | Number of bytes |
|---|---|
| KiB | 1024 |
| MiB | 1048576 (1024^2) |
| GiB | 1073741824 (1024^3) |
| TiB | 1099511627776 (1024^4) |
| PiB | 1125899906842624 (1024^5) |
| EiB | 1152921504606847000 (1024^6) |
JEDEC
Note JEDEC options works basically the same as the base-2 ones, except
that if you use the prepend option, it will, for example, correctly add
'KB' and not 'KiB'.
to | Number of bytes |
|---|---|
| jedecKB | 1024 |
| jedecMB | 1048576 (1024^2) |
| jedecGB | 1073741824 (1024^3) |
Testing
Using Mocha:
npm install
npm testContributing
Just send a PR, or create an issue if you are not sure.
Areas ripe for contribution:
- performance
- bugs
License
MIT