什么是Punycode-
来源:互联网 发布:韩剧软件 编辑:程序博客网 时间:2024/06/14 08:30
今天在看 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?
- 什么是模式?什么是框架?-
- Android基础总结五:ImageSwitcher的使用
- nyojzb的生日
- Jenkins入门系列之——01第一章 Jenkins是什么?
- laravel的orderBy问题
- stm32 RS485 SP3485
- 什么是Punycode-
- find与grep兄弟两的基情
- mysql5.5 mysql5.6 mysql5.7官方手册
- Web后台管理系统框架模板
- (0065)iOS开发之工具条UIToolBar
- 实现一个布隆过滤器
- Java set集合 交集,并集,差集
- python之selenium安装及使用方法简介
- 信息熵 交叉熵 相对熵 条件熵