#c#
#c#
Вопрос:
Как преобразовать строку в байт [] в C #?
Комментарии:
1. Имейте в виду, что массив байтов, который вы получаете, полностью зависит от используемой кодировки строки — текстовое представление строки теряется, если вы не знаете, как она кодируется.
Ответ №1:
используя byte[] data = Encoding.UTF8.GetBytes(myString);
Комментарии:
1. Да, но на самом деле я никогда и близко не подходил к использованию каких-либо определенных символов UTF16 на сегодняшний день и UTF8. getBytes всегда выполнял свою работу (особенно когда производительность критична)
2. Я знаю, но я предполагал, что OP хотел фактические байты, которые содержит строка.
Ответ №2:
Обратите внимание на это.ЧИСТЫЕ строки кодируются как Unicode (UTF-16):
byte[] bytes = Encoding.Unicode.GetBytes("a string");
Ответ №3:
Вы можете использовать LINQ:
var input = "myValue";
var byteInput = input.ToCharArray ().Select ( character => ( byte ) character ).ToArray ();
Assert.AreEqual ( input, new string ( byteInput.Select ( character => ( char ) character ).ToArray () ) );
И добавьте кодировку до или после, если вы хотите сделать кодировку.