# README
morse-go
A golang library for morse code encoding/decoding.
how to get
$ go get -u github.com/meinside/morse-go
how to use
sample application
package main
import (
"log"
"github.com/meinside/morse-go"
)
const (
phrase = "Testing morse code..."
)
func main() {
log.Printf("Will encode: %s", phrase)
// escape before encoding
escaped := morse.Escape(phrase)
log.Printf("Escaped: %s", escaped)
// encode,
encoded, _ := morse.Encode(escaped)
log.Printf("Encoded: %s", encoded)
// decode,
decoded, _ := morse.Decode(encoded)
log.Printf("Decoded: %s", decoded)
// build codes from durations
codes := []morse.Code{
morse.CodeFromDurations(morse.Dit, morse.Dit, morse.Dit),
morse.Space,
morse.CodeFromDurations(morse.Dah, morse.Dah, morse.Dah),
morse.Space,
morse.CodeFromDurations(morse.Dit, morse.Dit, morse.Dit),
}
// decode codes from durations
decoded, _ = morse.Decode(codes)
log.Printf("Decoded %s to: %s", codes, decoded)
}
Result:
2020/03/05 17:22:25 Will encode: Testing morse code...
2020/03/05 17:22:25 Escaped: Testing morse code
2020/03/05 17:22:25 Encoded: [− • ••• − •• −• −−• −− −−− •−• ••• • −•−• −−− −•• •]
2020/03/05 17:22:25 Decoded: testing morse code
2020/03/05 17:22:25 Decoded [••• −−− •••] to: s o s
how to test/benchmark
$ go test
$ go test -bench .
License
MIT
# Functions
Beep plays sounds for given `codes` synchronously.
CodeFromDurations returns a Code from given `durations`.
Decodable returns whether given `codes` are decodable or not.
Decode decodes given morse `codes` to a string.
Encodable returns whether given `text` is encodable or not.
Encode encodes morse codes from given `text`.
Escape returns `text` with non-encodable characters and redundant spaces removed/replaced.
# Constants
alphabets.
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
long.
short.
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
numbers.
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).
International morse codes (ITU).