punycoder: Unicode and Punycode Domain Name Processing

High-performance Unicode and Punycode processing for internationalized domain names. The 'puny_encode()' / 'puny_decode()' helpers are a low-level, RFC 3492 compliant Punycode codec for domain labels (the 'xn--' ASCII-Compatible Encoding of RFC 5890/5891); they perform the raw transform plus letter-digit-hyphen checks and do not apply Unicode IDNA normalization. 'host_normalize()' is the Unicode Technical Standard #46 host-normalization entry point, mapping a host name to a canonical lowercase ASCII comparison form (non-transitional profile, pinned Unicode version). The 'url_encode()' / 'url_decode()' / 'parse_url()' helpers do best-effort host extraction and rewriting in URL-shaped strings and are deliberately not RFC 3986 / WHATWG URL parsers or canonicalizers; they are deprecated in favor of dedicated URL packages. Aimed at host normalization and data analysis workflows. Used as the Punycode and IDNA engine by the 'pslr' and 'rurl' packages.

Package details

AuthorBart Turczynski [aut, cre] (ORCID: <https://orcid.org/0000-0002-8788-7980>)
MaintainerBart Turczynski <bartek@turczynski.pl>
LicenseMIT + file LICENSE
Version1.2.1
URL https://bart-turczynski.github.io/punycoder/ https://github.com/bart-turczynski/punycoder https://bart-turczynski.r-universe.dev/punycoder https://CRAN.R-project.org/package=punycoder
Package repositoryView on CRAN
Installation Install the latest version of this package by entering the following in R:
install.packages("punycoder")

Try the punycoder package in your browser

Any scripts or data that you put into this service are public.

punycoder documentation built on July 20, 2026, 1:07 a.m.