Что происходит с этим массивом байтов?

У меня есть байтовый массив: 00 01 00 00 00 12 81 00 00 01 00 C8 00 00 00 00 00 08 5C 9F 4F A5 09 45 D4 CE

Читается через StreamReader с использованием кодировки UTF8

// Note I can't change this code, to many component dependent on it.
using (StreamReader streamReader = 
    new StreamReader(responseStream, Encoding.UTF8, false))
{
    string streamData = streamReader.ReadToEnd();
    if (requestData.Callback != null)
    {
        requestData.Callback(response, streamData);
    }
}

Когда эта функция запускается, мне возвращается следующее (я преобразовал в байтовый массив)

00 01 00 00 00 12 EF BF BD 00 00 01 00 EF BF BD 00 00 00 00 00 08 5C EF BF BD 4F EF BF BD 09 45 EF BF BD

Каким-то образом мне нужно взять то, что мне вернули, и вернуть его в правильную кодировку и правильный массив байтов, но я много пробовал.

Имейте в виду, я Я работаю с ограниченным API WP7.

Надеюсь, вы, ребята, сможете помочь.

Спасибо!

Обновите для помощи ...

Если я сделаю следующий код, это почти правильно, единственное, что не так разделяется с 5-го до последнего байта.

byte[] writeBuf1 = System.Text.Encoding.UTF8.GetBytes(data);
                    string buf1string = System.Text.Encoding.BigEndianUnicode.GetString(writeBuf1, 0, writeBuf1.Length);
                    byte[] writeBuf = System.Text.Encoding.BigEndianUnicode.GetBytes(buf1string);
12
задан John 1 July 2011 в 04:57
поделиться