Unicode.GetString в C#C#

Место общения программистов C#
Anonymous
Unicode.GetString в C#

Сообщение Anonymous »

Я столкнулся со странной проблемой при выполнении некоторых операций с массивом байтов вместе со строкой Юникода в C#. Ниже мой код.

Код: Выделить всё

var bytes = new byte[] {128, 216};
var strstr = Encoding.Unicode.GetString(bytes);
var newBytes = Encoding.Unicode.GetBytes(strstr);

Console.WriteLine(BitConverter.ToString(bytes));
Console.WriteLine(BitConverter.ToString(newBytes));
Довольно просто, правда? Однако newBytes — это не то же самое, что bytes, что меня шокировало. По моему мнению, GetString и GetBytes должны быть противоположными операциями. Может ли кто-нибудь сообщить мне, что это происходит?
Выход:

80-D8
FD-FF


Подробнее здесь: https://stackoverflow.com/questions/474 ... in-c-sharp

Вернуться в «C#»