Categorygithub.com/meinside/morse-go
modulepackage
0.0.5
Repository: https://github.com/meinside/morse-go.git
Documentation: pkg.go.dev

# 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).

# Type aliases

Code for morse code strings.
Duration for morse code.