2个版本
0.1.1 | 2019年6月27日 |
---|---|
0.1.0 | 2019年6月27日 |
#2857 in 解析器实现
19KB
428 行
Mors
一个简单的crate,可以将莫尔斯电码转换为字母,反之亦然。
结构
内部,莫尔斯电码使用树结构,这允许快速查找将莫尔斯电码解码为字母。对于编码,编码器使用集合和一种DFS(深度优先搜索),将已看到的节点插入集合,然后遍历给定的集合以找到要编码的给定字母。
用法
use mors::encoder;
let morse_encoder = encoder::Encoder::new();
let message = String::from("ET");
println!("{}",morse_encoder.encode_letters(message)) ==> ". -"
use mors::decoder;
let decoder = decoder::Decoder::new();
let message = String::from(". -");
println!("{}",decoder.decode_message(message)) ==> "ET"
莫尔斯电码表
莫尔斯电码表中的所有代码都可以在"codec.rs"文件中找到。
A => .-
B => -...
C => -.-.
D => -..
E => .
F => ..-.
G => --.
H => ....
I => ..
J => .---
K => -.-
L => .-..
M => --
N => -.
O => ---
P => .--.
Q => --.-
R => .-.
S => ...
T => -
U => ..-
V => ...-
W => .--
X => -..-
Y => -.--
Z => --..
CH => ----
0 => -----
1 => .----
2 => ..---
3 => ...--
4 => ....-
5 => .....
6 => -....
7 => --...
8 => ---..
9 => ----.
. => .-.-.-
, => --..--
? => ..--..
! => ..--.
: => ---...
" => .-..-.
' => .----.
= => -...-
开发
这是我创建的一个小crate,因为我想要在Rust中实现树结构。
如果发现错误,请提交问题
我将尝试使编码和解码更快,并清理代码,但现在它只是按我预期的样子工作。
如果您有任何扩展crate的建议,请提交问题或通过github或gitter联系我。
许可证
MIT许可证
版权所有 (c) 2019 Nick Anthony Flückiger
以下是对任何获得此软件及其相关文档文件(“软件”)副本的个人的免费许可:...
...
...