Я читаю поток и задаюсь вопросом, почему закодированная строка UTF-8 короче, чем ASCII.Строки, закодированные в ASCII и UTF8, имеют разную длину!
ASCIIEncoding encoder = new ASCIIEncoding();
UTF8Encoding enc = new UTF8Encoding();
string response = encoder.GetString(message, 0, bytesRead); //4096
string responseUtf8 = enc.GetString(message, 0, bytesRead); //3955
Я думаю, что это правильно. Обратите внимание, что 'ASCIIEncoding' не имеет обнаружения ошибок, но' UTF8Encoding' делает. –
А? Обнаружение ошибок? Какие? – Timwi
Как отмечено в документах, ['ASCIIEncoding'] (http://msdn.microsoft.com/en-us/library/system.text.asciiencoding.asciiencoding.aspx) не обнаружено ошибок. Поэтому он будет счастливо «декодировать» байты, которые не имеют никакого смысла как ASCII в вопросительных знаках. –