Как я могу безопасно преобразовать массив байтов в строку и назад? [дубликат]

Я в основном делаю изменения этого, но рассматривающий, как компиляция горячей точки работает, если Вы хотите получить точные результаты, необходимо вывести первые несколько измерений и удостовериться, что Вы используете метод в реальном мире (читайте специализированный), приложение.

, Если JIT решает скомпилировать его, Ваши числа будут варьироваться в большой степени. поэтому просто будьте знающие

86
задан Newbee 18 March 2014 в 09:43
поделиться

2 ответа

Абсолютно безопасный способ преобразовать байты в строку и обратно - использовать base64:

string base64 = Convert.ToBase64String(bytes);
byte[] bytes = Convert.FromBase64String(base64);

Таким образом вы гарантированно не получите «недопустимые» последовательности Unicode, такие как первая половина суррогатная пара без второй половинки. Ничто не может решить нормализовать данные во что-то странное (это все ASCII). Невозможно использовать кодовые точки, которые не зарегистрированы в Unicode или что-то в этом роде. О, и вы также можете вырезать и вставлять без особого страха.

Да, вы получаете 4 символа на каждые 3 байта - но это небольшая плата за знание того, что ваши данные не будут повреждены.

163
ответ дан 24 November 2019 в 08:01
поделиться

Вы можете использовать документацию Convert.ToBase64 http://msdn.microsoft.com/en-us/library/dhx0d524.aspx

2
ответ дан 24 November 2019 в 08:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: