punydecode

command module
v0.0.0-...-9a624bd Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 8, 2022 License: MIT Imports: 5 Imported by: 0

README

punydecode

This repository has been archived in favor of punycode.

Coverage Status

A simple CLI tool to decode a punycode encoded string

Usage

Decoding a single string, meaning conversion from punycode to human readable text

punydecode xn--blbrgrd-fxak7p

Will emit

blåbærgrød

As an alternative to provided arguments, you can pipe text into punyencode

echo xn--blbrgrd-fxak7p | punydecode

Will emit

blåbærgrød

Installation

Installation is easy using Go

go install github.com/jonasbn/punydecode@latest

If you want a particular version, please see Go Modules Reference

Description

If you want to encode into punycode, see punyencode.

Diagnostics

Exit Status

  • 0 success, provided string has been decoded and printed

  • 1 failure no argument provided or data from STDIN

  • 2 failure reading from STDIN

Dependencies

This utility requires:

In addition to a few of the standard libraries

Bugs and Limitations

There a no known bugs, please see the GitHub repository issues section for a up to date listing.

Only support for Unicode

The utility is limited to decoding to Unicode (version 13) from Punycode.

Please see golang.org/x/net/idna for details.

Only a single argument

punydecode only takes a single argument.

punydecode xn--blbrgrd-fxak7p

Author

  • jonasbn

Motivation

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:

  1. Learning to make CLI tools
  2. Making an executable distributable and installable component
  3. Reading data from the CLI
  4. Reading data from STDIN
  5. Testing a CLI tool / Main function in Go

See the resources and references below for resources on the above topics.

Resources and References

  1. Wikipedia: Punycode
  2. Go Modules Reference
  3. GitHub: punyencode
  4. golang.org/x/net/idna
  5. yourbasic.org/golang: Read a file (stdin) line by line
  6. Blog post: Test the main function in Go by Johannes Malsam

Copyright Jonas Brømsø (jonasbn) 2022

MIT License, see separate LICENSE file

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL