様々な文字をモールス信号への符号化や復号化を行うパッケージ
このリポジトリーはgSpera/morseからフォークしています。
- 文字列の符号化や、モールス信号の復号化
- 数種類の文字の符号化 (ラテン文字、ギリシャ文字、キリル文字)
- モールス符号の変換テーブルの指定
標準でサポートしている変換表は以下の通りです。
- ラテン文字、記号、数字: ITU-R M.1677-1
- ギリシャ文字: decodemorsecode.com
- ハングル: SKATS,decodemorsecode.com
- ハングル文字が適切に正規化できない問題があり、符号化/復号化に失敗します。
- ひらがな・カタカナ: 日本アマチュア無線連盟
また、以下のように変換表を定義し、独自のものを使うことができます。 使いたい文字によっては、モールス信号に変換する前に文字列を正規化する関数を定義する必要があるかもしれません。
var LatinMorse = mltmorse.EncodingMap{
'A': ".-",
'B': "-...",
'C': "-.-.",
'D': "-..",
'E': ".",
...
}
CLIツールがcmd/morsecliにあります。 モールス信号への符号化や復号化をすることができます。
$morsecli -s ja > out.morse
テスト
モールス しんごう です。
^C
$morsecli -D -s ja < out.morse
テスト
モールス シンゴウ デス。
詳しくは --help
を参照してください。
text := "MORSE IS AWESOME"
//Convert to morse
textInMorse := morse.ToMorse(text)
fmt.Println(textInMorse) //-- --- .-. ... . .. ... .- .-- . ... --- -- .
//Back to text
backToText := morse.ToText(textInMorse)
fmt.Println(backToText) //MORSE IS AWESOME