たとえば、私は URL を持っていて、それをフォームhttp://кц.рф/ru/registrators/
に変換したいと考えています。http://xn--j1ay.xn--p1ai/ru/registrators/
new System.Globalization.IdnMapping().GetAscii(href)
// result: xn--http://-jig2i.xn--/ru/registrators/-zdo8d
System.Web.HttpUtility.UrlPathEncode(href)
// result: http://%d0%ba%d1%86.%d1%80%d1%84/ru/registrators/
より一般的な問題は、次のような URL を正規化することです。http://кц.рф/ru/registrators/q?рф=세요
これを行うより簡単な方法はありますか:
- ドメイン部分を取得
- Unicode シンボルがある場合は、次を使用してドメイン部分を処理します
IdnMapping().GetAscii
- を使用してクエリ部分を処理する
Uri.EscapeUriString()
部分的に関連する質問how-to-convert-idn-to-ascii