Лучший способ декодировать шестнадцатеричную последовательность символов юникода в строку

StackOverflow https://stackoverflow.com/questions/371096

  •  21-08-2019
  •  | 
  •  

Вопрос

Какой наиболее свободный от кода способ декодирования строки:

\xD0\xAD\xD0\xBB\xD0\xB5\xD0\xBA\xD1\x82\xD1\x80\xD0\xBE\xD0\xBD\xD0\xBD\xD0\xB0\xD1\x8F

к человеческой строке в C #?

Эта шестнадцатеричная строка содержит некоторые символы юникода.

Я знаю о

System.Convert.ToByte(string, fromBase);

Но мне было интересно, есть ли какие-нибудь встроенные помощники, которые asp.net используются внутренне.

Это было полезно?

Решение

На этом сайте вы вряд ли получите способ без кода (речь идет о коде).Декодирование a массив байтов в шестнадцатеричном кодировании это возможно, если вы знаете исходную кодировку.

Угадывание кодировки как UTF8, декодирование ее с помощью System.Text.Кодирование в формате UTF8 выдает следующие 11 символов юникода Кириллическая строка:

КИРИЛЛИЧЕСКАЯ ЗАГЛАВНАЯ БУКВА E, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА EL, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА IE, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА KA, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА TE, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА ER, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА O, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА EN, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА RU, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА A, КИРИЛЛИЧЕСКАЯ СТРОЧНАЯ БУКВА YA,

Как только вы поймете, как перенести ваши данные в Byte[], пример кода в приведенной выше ссылке показывает, как:

// fill encodedBytes with original data
Byte[] encodedBytes = new Byte[] {0xD0,0xAD,0xD0,0xBB,0xD0,0xB5}; //...
UTF8Encoding utf8 = new UTF8Encoding();
String decodedString = utf8.GetString(encodedBytes);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top