Rate this post

Punycode là một cú pháp mã hóa được sử dụng để chuyển đổi chuỗi ký tự Unicode (UTF-8) thành chuỗi ký tự ASCII cơ bản. Vì tên máy chủ chỉ hiểu các ký tự ASCII nên Punycode được sử dụng. Nó được sử dụng như một tên miền quốc tế hóa (IDN hoặc IDNA). Hãy hiểu nó bằng một ví dụ:

Giả sử nếu bạn tìm kiếm mañana.com trong trình duyệt của mình thì trình duyệt của bạn (được bật IDNA) trước tiên hãy chuyển đổi mã này thành punycode xn--maana-pta.com vì ký tự ñ không được phép trong tên miền thông thường. Nó không được hỗ trợ trong các phiên bản cũ hơn.

Các bài viết liên quan:

Punycode trong Node.js

Punycode.js được đóng gói với Node.js v0.6.2 và các phiên bản mới hơn. Nếu bạn muốn sử dụng nó với các phiên bản Node.js khác thì trước tiên hãy sử dụng npm để cài đặt mô-đun punycode. Bạn phải sử dụng request (‘punycode’) để truy cập nó.

Cú pháp:

punycode = require('punycode');  

punycode.decode (string)

Nó được sử dụng để chuyển đổi chuỗi ký hiệu ASCII Punycode thành chuỗi ký hiệu Unicode.

File: punycode_example1.js

punycode = require('punycode');  
console.log(punycode.decode('maana-pta'));   

punycode.encode (string)

Nó được sử dụng để chuyển đổi một chuỗi ký hiệu Unicode thành chuỗi Punycode ký hiệu ASCII.

File: punycode_example2.js

punycode = require('punycode');  
console.log(punycode.encode('☃-⌘'));  

punycode.toASCII (domain)

Nó được sử dụng để chuyển đổi một chuỗi Unicode đại diện cho một tên miền sang Punycode. Chỉ phần không phải ASCII của tên miền được chuyển đổi.

File: punycode_example3.js

punycode = require('punycode');  
console.log(punycode.toASCII('mañana.com'));   

punycode.toUnicode (domain)

Nó được sử dụng để chuyển đổi một chuỗi Punycode đại diện cho một tên miền sang Unicode. Chỉ phần Punycoded của tên miền được chuyển đổi.

File: punycode_example4.js

punycode = require('punycode');  
console.log(punycode.toUnicode('xn--maana-pta.com'));

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Contact Me on Zalo
Call now