What are the "restricted characters" used by Punycode?
Punycode uses only restricted ASCII characters and numbers (A-z, 0-9) and the hyphen (-). The Punycode schema and the standardization which specifies IDN wire-format to remain in the restricted ASCII repertoire was based on the following advantages:
Superior in compression
Compact in code size
Superior for encoding Chinese/Japanese/Korean characters. (over other ACE schemes evaluated at that time)