49 lines
No EOL
1.2 KiB
Markdown
49 lines
No EOL
1.2 KiB
Markdown
Bytestring
|
|
==========
|
|
|
|
Given an integer number of bytes, return a string that best represents it:
|
|
|
|
>>> import bytestring
|
|
>>> bytestring.bytestring(1)
|
|
'1.000 b'
|
|
>>> bytestring.bytestring(100)
|
|
'100.000 b'
|
|
>>> bytestring.bytestring(1024)
|
|
'1.000 KiB'
|
|
>>> bytestring.bytestring(2 ** 10)
|
|
'1.000 KiB'
|
|
>>> bytestring.bytestring(2 ** 20)
|
|
'1.000 MiB'
|
|
>>> bytestring.bytestring(2 ** 30)
|
|
'1.000 GiB'
|
|
>>> bytestring.bytestring(2 ** 40)
|
|
'1.000 TiB'
|
|
>>> bytestring.bytestring(123456789)
|
|
'117.738 MiB'
|
|
>>> bytestring.bytestring(753429186)
|
|
'718.526 MiB'
|
|
>>> bytestring.bytestring(7534291860)
|
|
'7.017 GiB'
|
|
>>> bytestring.bytestring(75342918600)
|
|
'70.169 GiB'
|
|
|
|
Given a string, return the number of bytes it represents:
|
|
|
|
>>> bytestring.parsebytes('100')
|
|
100.0
|
|
>>> bytestring.parsebytes('1k')
|
|
1024.0
|
|
>>> bytestring.parsebytes('1kb')
|
|
1024.0
|
|
>>> bytestring.parsebytes('1kib')
|
|
1024.0
|
|
>>> bytestring.parsebytes('200 mib')
|
|
209715200.0
|
|
>>> bytestring.parsebytes('2 GB')
|
|
2147483648.0
|
|
>>> bytestring.parsebytes('0.5 GIB')
|
|
536870912.0
|
|
>>> bytestring.parsebytes('512M')
|
|
536870912.0
|
|
>>> bytestring.parsebytes('99 Y')
|
|
1.1968365614184829e+26 |