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.
| Version: |
1.2.1 |
| Depends: |
R (≥ 3.5.0) |
| Imports: |
Rcpp (≥ 1.0.0) |
| LinkingTo: |
Rcpp |
| Suggests: |
testthat (≥ 3.0.0), knitr, rmarkdown, oysteR, rosv |
| Published: |
2026-07-19 |
| DOI: |
10.32614/CRAN.package.punycoder |
| Author: |
Bart Turczynski
[aut, cre] |
| Maintainer: |
Bart Turczynski <bartek at turczynski.pl> |
| BugReports: |
https://github.com/bart-turczynski/punycoder/issues |
| License: |
MIT + file LICENSE |
| 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 |
| NeedsCompilation: |
yes |
| SystemRequirements: |
GNU libidn2 (optional, for native punycode backend) |
| Language: |
en-US |
| Citation: |
punycoder citation info |
| Materials: |
README, NEWS |
| CRAN checks: |
punycoder results |
Documentation:
Downloads:
Reverse dependencies:
Linking:
Please use the canonical form
https://CRAN.R-project.org/package=punycoder
to link to this page.