2011-02-08 2 views
5

У меня есть массив байтов, который поступает из считывателя штрих-кода (подключенного через COM-порт), считывающего ID-карту. Когда я конвертировать их, я могу читать некоторые данных, например:Получить строковые данные из закодированных байтов

Имя, Фамилия, Город

и т.д., но если некоторые из данных имеет некоторые символы, такие как «E» или «Ç», или некоторые символы, которые используются на нашем языке [ed: OP находится в Приштине, Косово], я получаю «?». Как я могу получить эти символы через декодирование?

ответ

9

Вам необходимо знать подходящий Encoding, который использует устройство; это может быть UTF-16, например, в этом случае

string s = Encoding.Unicode.GetString(bytes); 

или UTF-8:

string s = Encoding.UTF8.GetString(bytes); 

, но и для региональных кодировок/код-страниц, которые вы должны будете использовать:

string s = Encoding.GetEncoding(yourEncoding).GetString(bytes); 
+0

прозрачный и красивый – UGEEN

Смежные вопросы