The Domain Name System was created at a time when the Internet was mainly used in North America. The initial design assumed that all domain names would be composed of letters and digits :rfc:`1035`. As Internet usage grew in other parts of the world, it became important to support non-ASCII characters. For this, extensions have been proposed to the Domain Name System :rfc:`3490`. In a nutshell, the solution that is used to support Internationalized Domain Names works as follows. First, it is possible to use most of the Unicode characters to encode domain names and hostnames, with a few exceptions (for example, the dot character cannot be part of a name since it is used as a separator). Once a domain name has been encoded as a series of Unicode characters, it is then converted into a string that contains the ``xn--`` prefix and a sequence of ASCII characters. More details on these algorithms can be found in :rfc:`3490` and :rfc:`3492`.
Hệ thống tên miền được tạo ra vào thời điểm khi mà mạng Internet được sử dụng phần lớn ở Bắc Mỹ. Thiết kế ban đầu giả định rằng tất cả các tên miền sẽ được cấu thành từ các ký tự và chữ số :rfc:`1035`. Khi việc sử dụng Internet phát triển hơn ở các phần khác của thế giới, việc hỗ trợ các ký tự non-ASCII trở nên quan trọng. Để làm được điều đó, các phần mở rộng đã được đề xuất lên hệ thống quản lý tên miền :rfc:`3490`. Nói ngắn gọn, giải pháp được sử dụng để hỗ trợ các tên miền quốc tế được diễn đạt như sau. Đầu tiên, nó hoàn toàn khả dĩ khi sử dụng các ký tự Unicode để mã hoá các tên miền và tên trạm, với một số ngoại lệ (ví dụ, ký tự dấu chấm không thể là một phần của tên gọi vì nó được sử dụng như là một dải phân cách). Một khi một tên miền đã được mã hoá dưới dạng một chuỗi các ký tự Unicode, nó sẽ được chuyển thành một chuỗi bao gồm các tiền tố ``xn--`` và một chuỗi các ký tự ASCII. Chi tiết hơn về các thuật toán này có thể được tìm thấy tại :rfc:`3490` và :rfc:`3492`.