Mam tablicę bajtów: 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
Co dzieje się z tą tablicą bajtów?
jest czytana przez StreamReader
korzystając 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);
}
}
Kiedy funkcja ta uruchamia się następujący wrócił do mnie (i konwertowane do tablicy bajtów)
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
W jakiś sposób muszę zabrać to, co mi zostało i przywrócić do właściwego kodowania i prawej tablicy bajtów, ale próbowałem dużo.
Należy pamiętać, że pracuję z ograniczonym API WP7.
Mam nadzieję, że możecie pomóc.
Dzięki!
Aktualizacja pomoc ...
jeśli ja poniższy kod, to prawie rację, jedyną rzeczą, która jest źle jest 5 do ostatniego bajta zostanie podzielona na zewnątrz.
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);
Czy możesz pokazać kod, który tworzy/tworzy tablicę? –
Nie, jest to połączenie z usługą innej firmy, to dokładne dane, które usługa zwraca ... Poza tym, chcę tylko przywrócić to, co powinno być (jak to się dzieje w strumieniu odpowiedzi) – John
Jestem poważnie zadziwił się tym ... – John