У меня есть байтовый массив: 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 encoding
// 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);