在C 中對中文網域名稱判斷和解析

2021-12-29 16:21:07 字數 884 閱讀 8420

什麼是中文網域名稱,及其的編碼方式?

中文網域名稱是含有中文的新一代網域名稱,同英文網域名稱一樣,是網際網路上的門牌號碼。中文網域名稱在技術上符合2023年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 以上版本包含

實際使用用例

sitemap檔案**生成器,後台c#,支援中文網域名稱輪詢抓取

aspx" target="_blank">sitemap**生成器

C 中文在URL中的編碼

utf 8中,乙個漢字對應三個位元組,gb2312中乙個漢字占用兩個位元組。不論何種編碼,字母數字都不編碼,特殊符號編碼後占用乙個位元組。按照utf 8進行編碼 string tempsearchstring1 system.web.httputility.urlencode 中國 按照gb2312...

在sql2005中對不同XML的解析

聯機幫助 ms help eg1.declare idoc int declare doc varchar 4000 set doc 2007 11 22 09 27 04 mod a 21 e145 exec sp xml preparedocument idoc output,doc 形成各節點...

iconv 判斷字元編碼 C 中的中文編碼

中文編碼是乙個複雜而繁瑣的問題,尤其是在使用c 的時候,不像python這種直接就可以迭代出單個中文字元,c 中是以位元組為單位的,那麼我們要讀取乙個中文字元就要讀取三次位元組流,讀取英文本元就只需要讀取一次,是不是超級麻煩。那麼c 怎麼樣在中英文混合的字串中分離中英文或者計算字串長度 不是位元組數...