This repository has been archived in favor of punycode.
A simple CLI tool to encode a string to a punycode encoded string
Encoding a single string, meaning conversion from human readable text to punycode
punyencode blåbærgrød
Will emit
xn--blbrgrd-fxak7p
As an alternative to provided arguments, you can pipe text into punyencode
echo blåbærgrød | punydencode
Will emit
xn--blbrgrd-fxak7p
Installation is easy using Go
go install github.com/jonasbn/punyencode@latest
If you want a particular version, please see Go Modules Reference
If you want to decode from punycode, see punydecode
.
-
0
success, provided string has been decoded and printed -
1
failure no argument provided or data from STDIN -
2
failure reading from STDIN
This utility requires:
In addition to a few of the standard libraries
There a no known bugs, please see the GitHub repository issues section for a up to date listing.
The utility is limited to decoding to Unicode (version 13) from Punycode.
Please see golang.org/x/net/idna for details.
punyencode
only takes a single argument.
punyencode kødpålæg
- jonasbn
This utility was created, when in the process of learning Go. I have worked in the DNS and domain name business for a decade so it was only natural to work on something I know when learning Go.
This particular repository touched the following topics:
- Learning to make CLI tools
- Making an executable distributable and installable component
- Reading data from the CLI
- Reading data from STDIN
- Testing a CLI tool / Main function in Go
See the resources and references below for resources on the above topics.
- Wikipedia: Punycode
- Go Modules Reference
- [GitHub: punyencode][punyencode]
- golang.org/x/net/idna
- yourbasic.org/golang: Read a file (stdin) line by line
- Blog post: Test the main function in Go by Johannes Malsam
Copyright Jonas Brømsø (jonasbn) 2022
MIT License, see separate LICENSE
file