необходимо использовать кодирование (System.Text.Encoding
) для сообщения.NET, что Вы ожидаете как вывод. Например, в UTF-16 (= System.Text.Encoding.Unicode
) :
var result = System.Text.Encoding.Unicode.GetBytes(text);
Сначала удайтесь, какое кодирование Вы хотите: необходимо знать немного о Unicode сначала.
Следующий удаются, который System.Text.Encoding
, который соответствует. Мой Базовая.NET refcard описывает большинство общих, и как получить экземпляр (например, статическим свойством Encoding
или путем вызова Encoding.GetEncoding
.
Наконец, удайтесь, хотите ли Вы все байты сразу (который является самым легким способом работать - вызов Кодирование. GetBytes (строка) однажды и Вы сделаны), или необходимо ли повредить его в блоки - в этом случае Вы захотите использовать Кодирование. GetEncoder и затем кодирует понемногу. Кодер заботится о хранении состояния между вызовами, в случае, если необходимо прервать половину пути через символ, например.
Какое Кодирование Вы используете? У Konrad есть он в значительной степени вниз, но существуют другие там, и Вы могли получить глупые результаты с неправильным:
byte[] bytes = System.Text.Encoding.XXX.GetBytes(text)
, Где XXX
может быть:
ASCII
BigEndianUnicode
Default
Unicode
UTF32
UTF7
UTF8
Как это:
string test = "text";
byte[] arr = Encoding.UTF8.GetBytes(test);