Как перевести строку с 16-ричной записью символа юникода в сам символ - C#

Узнай цену своей работы

Формулировка задачи:

Как перевести строку с 16-ричной записью символа юникода в сам символ? т.е. на входе есть string s1="90b73447769de4400800000010c7e0f8f3ecebe5ededeef1f2fc20f1e8000000000000000000000000 а на выходе нужно получить string s2="Зашумленность"

Решение задачи: «Как перевести строку с 16-ричной записью символа юникода в сам символ»

textual
Листинг программы
using (var fstream = File.OpenRead(@"C:\reports\03_08_2015 12_31_23#01.rpt"))
using (var reader = new BinaryReader(fstream))
{
    int etCnt = reader.ReadInt32();
    Et[] ets = new Et[etCnt];
    for (int i=0; i<etCnt; i++)
    {
        ets[i] = ReadEt(reader);
    }
}
 
// ...
static Et ReadEt(BinaryReader reader)
{
    double binDate = reader.ReadDouble();
    DateTime date = DateTime.FromOADate(binDate);
    
    byte[] binName = reader.ReadBytes(64);
    string name = Encoding.GetEncoding(1251).GetString(binName, 1, binName[0]);
    
    // Пропускаем 8 байтов т.к. в документации похоже ошибка
    reader.BaseStream.Position += 8;
    
    return new Et(date, name);
}
 
struct Et
{
    public DateTime DateAndTime;
    public string Name;
    
    public Et(DateTime dateAndTime, string name)
    {
        DateAndTime = dateAndTime;
        Name = name;
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4.2 из 5
Похожие ответы