У меня были проблемы с Umlauts в ASCII, поэтому я теперь кодирую свой поток как UTF-8, который работает, но это вызывает проблему.Обычно я читаю 4 байта перед ARTIST, чтобы определить длину ARTIST = WHOEVER, используя
UTF8Encoding enc = new UTF8Encoding();
string response = enc.GetString(message, 0, bytesRead);
int posArtist = response.IndexOf("ARTIST");
BitConverter.ToInt32(message, posArtist - 4);
. Это прекрасно работает для ASCII.
Примеры шестнадцатеричного редактора просто для иллюстрациичтение длины больше не работает, как в ASCII
Вот пример скриншота из hex-редактора:
"ARTIST = MANDY vs. Booka Shade"Длина = 21
Однако это не работает для потока в кодировке UTF8.Вот скриншот:
"ARTIST = Paulseq" Длина = E, но на картинке его 2E.
Что я здесь не так делаю?