C# 07.08.2020 admin No comments

Работа с Punycode в C#

В данной статье мы разберём работу с punycode. Для этого мы будем использовать класс IdnMapping.

Конвертация unicode в punycode:

using System;
using System.Globalization;

namespace Punycode
{
    class Program
    {
        static void Main(string[] args)
        {
            IdnMapping idnMapping = new IdnMapping();
            string punycodeDomainName = idnMapping.GetAscii("кто.рф");
            Console.WriteLine(punycodeDomainName);
        }
    }
}

Конвертация punycode в unicode:

using System;
using System.Globalization;

namespace Punycode
{
    class Program
    {
        static void Main(string[] args)
        {
            IdnMapping idnMapping = new IdnMapping();
            string unicodeDomainName = idnMapping.GetUnicode("xn--j1ail.xn--p1ai");
            Console.WriteLine(unicodeDomainName);
        }
    }
}

Также вы можете использовать перегруженные реализации методов GetAscii и GetUnicode:

GetAscii(string unicode, int startIndex)
GetUnicode(string punycode, int startIndex)

Данные методы принимают на вход строку и начало смещения, с которого необходимо преобразовывать строку.

GetAscii(string unicode, int startIndex, int count)
GetUnicode(string punycode, int startIndex, int count)

Данные методы принимают на вход строку, начало смещения и количество символов, которые необходимо использовать из исходной строки.




1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...