module Ronin::Support::Encoding::Punycode
Contains methods for encoding/decoding [punycode] encoded Strings.
[punycode]: en.wikipedia.org/wiki/Punycode
## Core-Ext Methods
-
{String#punycode_encode}
-
{String#punycode_decode}
@api public
@since 1.0.0
Public Class Methods
decode(data)
click to toggle source
Decodes a [punycode] String
back into unicode.
[punycode]: en.wikipedia.org/wiki/Punycode
@param [String] data
The punycode String to decode.
@return [String]
The decoded unicode String.
@example
Encoding::Punycode.decode("xn--8ws00zhy3a") # => "詹姆斯"
# File lib/ronin/support/encoding/punycode.rb, line 73 def self.decode(data) Addressable::IDNA.to_unicode(data) end
encode(data)
click to toggle source
Encodes a unicode String
into [punycode].
[punycode]: en.wikipedia.org/wiki/Punycode
@param [String] data
The unicode String to encode.
@return [String]
The punycode String.
@example
Encoding::Punycode.encode("詹姆斯") # => "xn--8ws00zhy3a"
# File lib/ronin/support/encoding/punycode.rb, line 54 def self.encode(data) Addressable::IDNA.to_ascii(data) end