qsantos / ripmors

Blazingly fast Morse code encoding/decoding
Apache License 2.0
14 stars 0 forks source link

ripmors

ripmors is a Rust library for encoding and decoding International Morse code and several variants.

It is fast:

$ echo 'Hello, World!' | ripmors
.... . .-.. .-.. --- --..-- / .-- --- .-. .-.. -.. -.-.--
$ echo '-- --- .-. ... . / -.-. --- -.. .' | ripmors -d
MORSE CODE

Documentation

If you want to uwu-encode instead, use this project instead.

Usage

Or, in Rust:

use ripmors::{decode_string, encode_string, to_standard};

assert_eq!(encode_string("Hello, World!"), ".... . .-.. .-.. --- --..-- / .-- --- .-. .-.. -.. -.-.--");
assert_eq!(decode_string(b"-- --- .-. ... . / -.-. --- -.. .", to_standard), "MORSE CODE");

In addition to the standard International Morse Code and its Latin extensions, the following variants are supported:

$ echo 'モールスふごう' | ripmors
-..-. .--.- -.--. ---.- --.. ---- .. ..-
$ echo '-..-. .--.- -.--. ---.- --.. ---- .. ..-' | ripmors -d japanese
モールスフコ゛ウ

Or, in Rust:

use ripmors::{decode_string, encode_string, to_japanese};

assert_eq!(encode_string("モールスふごう"), "-..-. .--.- -.--. ---.- --.. ---- .. ..-");
assert_eq!(decode_string(b"-..-. .--.- -.--. ---.- --.. ---- .. ..-", to_japanese), "モールスフコ゛ウ");