/simpleidn

SimpleIDN ruby gem

Primary LanguageRubyMIT LicenseMIT

SimpleIDN

This gem allows easy conversion from punycode ACE strings to unicode UTF-8 strings and visa versa.

The implementation is heavily based on the RFC3492 C example implementation but simplified since it does not preserve case.

This gem works with Ruby 2.2+.

Installation

[sudo] gem install simpleidn

sudo is optional depending on your setup.

In your Ruby script you can now.

require 'rubygems'
require 'simpleidn'

SimpleIDN.to_unicode("xn--mllerriis-l8a.com")
=> "møllerriis.com"

SimpleIDN.to_ascii("møllerriis.com")
=> "xn--mllerriis-l8a.com"

Testing / RSpec

In order to run the test suite you must have rspec installed.

The test suite has been copied from the IDN gem and uses examples from JOSEFSSON test vectors, taken from DRAFT-JOSEFSSON-IDN-TEST-VECTORS-00: www.gnu.org/software/libidn/draft-josefsson-idn-test-vectors.html

Known issues

Does not preserve uppercase. So if, for some reason, you use uppercase characters (eg. Ø instead of ø), please take note of that.

Please report any issues!