Im пытается передать массив символов в байтовый массив.Преобразование char [] в байт [] приводит к увеличению числа
char[] cc = new char[] { ((char)(byte)210) }; // Count = 1
byte[] b = System.Text.Encoding.UTF8.GetBytes(cc); // Count = 2
Результаты преобразования в 2 записей для моего байт массива {195, 146}
.
Я предполагаю, что проблема с кодировкой. Любая помощь приветствуется.
После столкнулись с некоторыми проблемами, которые я написал это 2 линии для целей тестирования, так что не возражает стиль.
Благодаря
Это не проблема. Так UTF8 кодирует символы с кодовой точкой, равной или выше U + 0080. – PetSerAl
вы просто хотите бросить? 'cc.Cast() .ToArray();' или 'cc.Select (c => (byte) c) .ToArray();' –
Я не уверен, что понимаю вашу проблему. Почти никто не использует ASCII с тех пор, как, например, в 1980 году. В Unicode, который Java кодирует как UTF16, имеется более одного байта на символ. – scottb