Отличить числовые байты от строки utf-8 - C#
Формулировка задачи:
Здравствуйте!
Подскажет, как в шарпе отличить числовые байты от строки utf-8?
Вообщем, у меня есть сокет, в который приходит массив байт такого вида: <ushort><byte><data> (2, байта, 1 байт, остальные байты..)
Мне надо обработать такую ситуацию, когда вместо первых 3 числовых байт, будет utf-8 строка: <policy-file-request/> (Или её часть)
Вот как это лучше сделать? Спасибо!
Или можно как-то более красиво проверить первые три байта, на предмет их отношения к utf-8?
Что-то вроде этого?
byte[] buffer = new byte[ socket.Available ]; socket.Receive( buffer ); Console.WriteLine( "Это похоже на utf-8? " + Encoding.UTF8.GetString(buffer) );
Решение задачи: «Отличить числовые байты от строки utf-8»
textual
Листинг программы
bool IsUTF8(byte[] data) { var utf8 = new UTF8Encoding(false, true); try { string s = utf8.GetString(data); return true; } catch { } return false; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д