数字基/基编码、解码和格式化
num-radix的Python项目详细描述
数字基数
这是一个用于编码、解码和格式化数字的python脚本和库。 包括除 十进制的,如八进制、多泽纳尔/双十进制、十六进制、base57和base62。这个 基数也可以由指定的任意位数确定:0123456789AB…
要求
- Python3
安装
从python包索引:
pip install num-radix
或下载并运行:
python3 setup.py install
命令行
使用--help
参数获取帮助。
num-radix --help
默认情况下,脚本在dozenal中进行编码和解码。
它输出“6x534;3000”编码的dozenal。
num-radix --encode 142456.25 --format ',.4f'
格式字符串使输出的小数位数为4,每3个整数 用逗号分隔的数字。 格式在Python format string syntax中给出。
用电子符号格式化。输出“4;133x82e-0e”。
num-radix --encode 0.000000000005526745 --format '.6e'
以十六进制编码。
num-radix --encode 142 --base hex
从多泽纳尔解码回十进制。
num-radix --decode '6X534;3'
输入和输出可以通过管道传输。每行输入都被编码 (或解码)并在新行上输出。
echo -e "142\n4353" | num-radix --encode - | cat
Python
导入库。
from num_radix import Radix
创建基数。
dozenal = Radix.dozenal()
hexa = Radix.hex()
base20 = Radix("0123456789ABCDEFGHIJ", sep="|")
用基数对象编码。
dozenal.encode(3546)
dozenal.encode(142456.25, "013.4f")
numbers = [142456.25, 34, 0.000345]
"These numbers {:013.4f}, {}, {:e} are in dozenal".format(*dozenal.wrap(numbers))
编码日期和时间。
from datetime import datetime
now = datetime.now()
dozenal_now = dozenal.wrap(now.timetuple()[:6])
"{}-{:02}-{:02} {:02}:{:02}:{:02}".format(*dozenal_now)
使用基数对象解码。
dozenal.decode("6X534;3")
在__init__.py
文件末尾的demo部分有更多的示例。