什么是中文域名,及其的编码方式?
中文域名是含有中文的新一代域名,同英文域名一样,是互联网上的门牌号码。中文域名在技术上符合2003年3月份IETF发布的多语种域名国际标准(RFC3454、RFC3490、RFC3491、
RFC3492)。中文域名属于互联网上的基础服务,注册后可以对外提供WWW、EMAIL、FTP等应用服务。
中文域名采用Punycode的编码方式
什么是Punycode编码?
Punycode是一个根据RFC 3492标准而制定的编码系统,主要用于把域名从地方语言所采用的Unicode编码转换成可以用于DNS系统的编码。而改编码是根据域名相异字表(由IANA制定
),Punycode可以防止所謂的IDN欺騙。
在C#如何判断是否是中文域名
//判断是否是中文域名:
Regex r = new Regex(@"[\u4e00-\u9fa5]+");
Match mc = r.Match(this.TextBox_WebSiteDomainName.Text);
if (mc.Length != 0)//含中文域名
{
}
else
{
}
C#中如何解析中文域名,将中文域名转化成Punycode编码
IdnMapping dd = new IdnMapping();
string 新域名 = dd.GetAscii(中文域名);
注:IdnMapping 在.Net 1.1 以上版本包含