Подтвердить что ты не робот

С# Byte [] Байт-массив для строки Unicode

Мне нужно очень быстрое преобразование из байтового массива в строку. Массив байтов - это строка Unicode.


enter image description here

4b9b3361

Ответ 1

От массива byte[] до string

 var mystring = Encoding.Unicode.GetString(myarray);

От string до byte[]

 var myarray2 = Encoding.Unicode.GetBytes(mystring);

Ответ 2

Попробуйте это

System.Text.UnicodeEncoding.Unicode.GetString

Ответ 3

System.Text.Encoding.Unicode.GetString принимает байтовый массив и возвращает строку.

Изменить: судя по вашему скриншоту, у вас нет байта, а массива char. В этом случае вы должны сначала попробовать просто создать из него строку:

var result = new String(WinMineStruct.PlayerEasyName);

Если это не сработает, вы всегда можете попробовать следующее:

var bytes = System.Text.UnicodeEncoding.GetBytes(WinMineStruct.PlayerEasyName);
var result = System.Text.UnicodeEncoding.GetString(bytes);

Также есть встроенные Null-Characters. Я не могу проверить, нужно ли их убирать прямо сейчас.

Ответ 4

UTF8 (я думаю, вы имеете в виду " UTF8" вместо "Юникод" ). Потому что, у тебя будут только китайские символы.;)

Может быть, это помогает изменить...

var mystring = Encoding.Unicode.GetString(myarray);

... до...

var mystring = Encoding.UTF8.GetString(myarray);

:)