C # - как сделать кодирование на строку или символ? - PullRequest
2 голосов
/ 28 января 2011

Я читаю метаданные из определенных байтов в файлах, но результаты, которые я получаю, не имеют кодировки. Я хотел бы закодировать их в Encoding.Default для удобства чтения.

Как мне преобразовать либо полную строку Unicode, либо хотя бы один символ?

C # .NET 3.5

Ответы [ 5 ]

4 голосов
/ 28 января 2011

Вы не кодируете байтов для конкретной кодировки - вы декодируете их из исходной кодировки. Вы должны использовать кодировку right - вы не можете просто выбрать ее произвольно.

Эти байты на самом деле представляют текстовые данные? Если да, то какую кодировку уже использовать? Это должно быть частью формата файла.

Если они не фактически закодированный текст, но вы хотите надежное текстовое представление произвольных двоичных данных, используйте Convert.ToBase64String.

2 голосов
/ 28 января 2011
var myString = System.Text.Encoding.Unicode.GetString(myByteArray);

Будет ли это работать?

1 голос
/ 28 января 2011

Посмотрите на пространство имен System.Text.Encoding:)

0 голосов
/ 28 января 2011

используйте что-то подобное

System.Text.Encoding.Default.GetChars(pass your byte array here)
0 голосов
/ 28 января 2011

Это будет примерно так:

string s = Encoding.UTF8.GetString (bytesToGetStringFrom, 0, bytesToGetStringFrom.Length);

Существуют "кодировки", отличные от UTF8.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...