2016-09-15 5 views
0

Если обработка данных после того, как данные будут возвращены либо с TCP, либо HTTP, будут приниматься в виде массивов байтов или это O.K. практиковать, чтобы получить его как строку? Я пытался найти какие-то профессиональные проекты на github, чтобы получить ответ, но не повезло. Некоторые примеры HTTPClient от Microsoft на MSDN обычно используют метод GetByteArrayAsync (веб-сайт), а не GetStringAsync (веб-сайт). Есть ли причина, по которой они будут использовать GetByteArrayAsync вместо GetStringAsync, что значительно упростило бы манипулирование данными с самого начала? Существуют ли какие-либо преимущества вместо использования GetByteArrayAsync?Практика программирования при получении и обработке полученных данных TCP/HTTP?

ответ

1

Что движется «через провод», это байты, а не строки. Они могут быть текстовыми, но могут быть изображениями или zip-файлом. На уровне TCP/HTTP это неизвестно, и это не имеет значения. Это решение принадлежит к более высокому уровню.

HTTP имеет немного больше информации, чем TCP, поэтому у вас может быть тип mimetype, который поможет вам решить, каковы эти байты.

Даже если вы знаете, что это какой-то текст, вам нужно знать набор символов. Вы можете получить эту информацию в HTTP-заголовке или в самом документе, или может быть стандарт, говорящий, что такое кодировка.

Только тогда вы сможете преобразовать в строку.

+0

Это ответ на мой вопрос отлично. Спасибо, что разъяснили это. –

 Смежные вопросы

  • Нет связанных вопросов^_^