chickadee » punycode

punycode

Description

RFC 3492 Punycode implementation for CHICKEN Scheme. Encodes internationalized domain names in the ASCII subset supported by DNS. Useful if you want to display unicode domains in your user interface or accept unicode domains as input.

API

punycode-encode strprocedure

Converts a unicode string to Punycode ASCII.

punycode-decode strprocedure

Converts a Punycode ASCII string to unicode.

domain->ascii strprocedure

Converts a internationalized domain name to an ASCII representation (if the domain is already ASCII-only it is returned unmodified).

domain->unicode strprocedure

Converts a Punycode ASCII domain name to a unicode string (if the domain is already unicode it is returned unmodified).

Example

(use punycode)

(punycode-encode "Bücher")
;; => "Bcher-kva"

(punycode-decode "Bcher-kva")
;; => "Bücher"

(domain->ascii "www.bücher.de")
;; => "www.xn--bcher-kva.de"

(domain->unicode "www.xn--bcher-kva.de")
;; => "www.bücher.de"

Source code / Issues

https://github.com/caolan/chicken-punycode

Contents »