#codec #pdp-11 #pdp-10 #pdp

radix50

库和命令行工具,用于编码和解码DEC PDP-11和PDP-10 RADIX-50字流(https://zh.wikipedia.org/wiki/DEC_RADIX_50)

4个版本

0.2.1 2024年3月28日
0.2.0 2024年3月28日
0.1.1 2023年12月6日
0.1.0 2023年11月9日

#490编码


用于 radix50-cli

MIT 许可证

28KB
208 代码行

radix50

Rust库和命令行工具,用于编码和解码DEC PDP-11和PDP-10 RADIX-50字流

库使用

将以下内容添加到您的 Cargo.toml

[dependencies]
radix50 = "0.2"

示例

use radix50::{pdp10,pdp11};

let pdp10_encoded = pdp10::encode("THIS IS A TEST").unwrap();
let pdp11_encoded = pdp11::encode("THIS IS A TEST").unwrap();

assert_eq!(pdp10_encoded, [3119342419, 2970305215, 3046400000]);
assert_eq!(pdp11_encoded, [32329, 30409, 30401, 805, 31200]);

let pdp10_decoded = pdp10::decode(&[3119342419, 2970305215, 3046400000]);
let pdp11_decoded = pdp11::decode(&[32329, 30409, 30401, 805, 31200]);

assert_eq!(pdp10_decoded, "THIS IS A TEST    ");
assert_eq!(pdp11_decoded, "THIS IS A TEST ");

文档快捷方式

命令行界面

代码仓库包含一个用于编码或解码的命令行工具(也作为radix50-cli包发布)。

使用Cargo安装

cargo install radix50-cli

从源码构建

cargo build --release

输出可执行文件将创建在./target/release/radix50

运行

$ radix50 encode "ENCODE THIS"

$ echo -n "ENCODE THIS" | radix50 encode

将输出十进制格式的16位字列表

8563 24165 808 15160

添加`--format`标志以输出其他格式的数据

$ radix50 encode --format=hex "ENCODE THIS"
2173 5e65 328 3b38
$ radix50 encode --format=oct "ENCODE THIS"
20563 57145 1450 35470
$ radix50 encode --format=bin "ENCODE THIS"
10000101110011 101111001100101 1100101000 11101100111000
$ radix50 encode --format=raw "ENCODE THIS" | xxd
00000000: 2173 5e65 0328 3b38                      !s^e.(;8

解码

$ radix50 decode 6603 24165 808 15188
DECODE THIS.
$ radix50 decode 0x3b60 0x7a18 0x666a 0x7ff8 0x32e0 0x32f 0x5dc0
IT SUPPORTS HEX TOO
$ radix50 decode 0o4164 0o1133 0o76464
AND OCTAL
$ radix50 decode 0b10001010110101 0b101011110000010 0b11101001110001 0b111010001101000
EVEN BINARY

stdin解码将假设为原始字节流格式

$ printf "\x79\x18\x70\xbf" | radix50 decode
SO RAW

默认使用PDP-11/VAX编码。使用--pdp10标志使用PDP-10编码(也用于PDP-6、DECsystem-10、DECSYSTEM-20)。

显示RADIX-50字符集

$ radix50 charset

许可证

版权© 2023-2024 David Caldwell [email protected]

MIT许可证。有关详细信息,请参阅LICENSE.md

依赖项

~17KB