Использование правильной кодировки при чтении из TCP/Port

Я читаю поток байтов (byte[]) из TCP/Port и преобразование части полученного массива в char[]

Предположим, что я не знаком ни с характеристиками порта, ни с окружающей средой на другой стороне этого порта. Все, что я знаю, это то, что есть порт.

Часть данных, которые я получаю, является закодированным символом валюты британского фунта (£). Когда я использую кодировку ASCII для преобразования, эти символы появляются как ?

var charArray = Encoding.ASCII.GetChars(byteArray);

Тем не менее, когда я использую UTF-7, все в порядке:

var charArray = Encoding.UTF7.GetChars(byteArray);

Я должен добавить, что при попытке UTF-8 это не работает.

Это было методом проб и ошибок, и я не совсем уверен, почему это могло сработать. Вместо того, чтобы просто развернуть решение, я подумал, что постараюсь понять, почему это сработало.

Это просто, что система на другой стороне порта передает в UTF-7, или что-то еще происходит?

0 ответов

Другие вопросы по тегам