什么是Punycode-
来源:互联网 发布:东北大学软件工程硕士 编辑:程序博客网 时间:2024/05/17 06:00
今天在看 Katana 源码时看到其中的 HostString 有对一个叫punycode的处理过程,
网上查了查资料原来是这么回事:
原文地址:Punycode
Punycode是一个根据RFC 3492标准而制定的编码系统,主要用於把域名从地方语言所采用的Unicode编码转换成为可用於DNS系统的编码。Punycode可以防止所谓的IDN欺骗。早期的DNS(Domain Name System)是只支持英文域名解析。在IDNs(国际化域名Internationalized Domain Names)推出以后,为了保证兼容以前的DNS,所以,对IDNs进行punycode转码,转码后的punycode就由26个字母+10个数字,还有“-”组成。目前,因为操作系统的核心都是英文组成,DNS服务器的解析也是由英文代码交换,所以DNS服务器上并不支持直接的中文域名解析,所有中文域名的解析都需要转成punycode码,然后由DNS解析punycode码。其实目前所说和各种浏览器完美支持中文域名,只是浏览器软件里面主动加入了中文域名自动转码,不需要原来的再次安装中文域名转码控件来完成整个流程。
说白了,如很早以前炒得火热的中文域名,如 阿里巴巴.com,由于DNS只认识英文,所以就需要转换为punycode交给DNS:xn--tsta8290bfzd.com
C#中有现成的工具直接来做这件事情:
1 System.Globalization.IdnMapping idn = new System.Globalization.IdnMapping();2 3 Console.WriteLine(idn.GetUnicode("xn--tsta8290bfzd.com"));//阿里巴巴.com4 Console.WriteLine(idn.GetAscii("阿里巴巴.com"));//xn--tsta8290bfzd.com
阅读全文
0 0
- 什么是Punycode-
- 什么是Punycode-
- punycode
- Punycode
- punycode编码
- C# .net 中 punycode
- 中文转换PunyCode
- punycode和中文相互转换
- punycode和中文相互转换
- [DNS]Punycode与中文互转
- 什么是
- c++调用python以及使用python将gbk/utf-8转punycode
- 一种几乎无法被检测到的Punycode钓鱼攻击,Chrome、Firefox和Opera等浏览器都中招
- 什么是JAVA?什么是UNIPORTAL?
- 什么是需求?什么是客户??!!
- 什么是模式?什么是框架?
- 什么是PR、什么是BD?
- 什么是模式?什么是框架?-
- 燕麦云何洋开讲 | 既安全又简单?我的产品设计心经分享(下)
- Effective C++读书笔记01条款37
- Pyglet教程
- Linux分析apache日志获取最多访问的前10个IP
- 1033. 旧键盘打字(20)
- 什么是Punycode-
- hashCode()、equals()以及compareTo()方法的理解 (整理)
- lua解析json
- hdu1075
- 操作系统-进程和线程管理
- linux下c++实现文件监控
- 4. Median of Two Sorted Arrays
- WIN10如何设置默认便签应用
- 稳定排序和不稳定排序