У меня возникла проблема с классом Utf7Encoding, усекающим последовательность «+4».
Мне было бы очень интересно узнать, почему это происходит.
Я попытался Utf8Encoding для получения строки из массива byte [], и это, кажется, работает хонки Дори.
Есть ли такие известные проблемы с Utf8? По сути, я использую выходные данные, полученные в результате этого преобразования, для создания html из строки rtf.
Вот фрагмент:
UTF7Encoding utf = new UTF7Encoding();
UTF8Encoding utf8 = new UTF8Encoding();
string test = "blah blah 9+4";
char[] chars = test.ToCharArray();
byte[] charBytes = new byte[chars.Length];
for (int i = 0; i < chars.Length; i++)
{
charBytes[i] = (byte)chars[i];
}
string resultString = utf8.GetString(charBytes);
string resultStringWrong = utf.GetString(charBytes);
Console.WriteLine(resultString); //blah blah 9+4
Console.WriteLine(resultStringWrong); //blah 9