Как конвертировать прочитанный текст из штрих-кода в арабский текст

У меня есть изображение штрих-кода с типом "pdf417", оно содержит арабский текст. Когда я читаю его, используя штрих-код через такой текст, как этот "# #", как я могу преобразовать этот текст в исходный текст (арабский)

2 ответа

Решение

Если ваш метод дает вам byte[] использовать:

var str = Encoding.UTF8.GetString(yourBytes);

или, возможно

var str = Encoding.GetEncoding(1256) // 1256 is the Windows Arabic codepage
                  .GetString(yourBytes);

Если ваш метод дает вам string сделай это:

// iso-8859-1 is a codepage that can be used to convert back some 
// malformed unicode strings
var str = Encoding.GetEncoding(1256)
                  .GetString(Encoding.GetEncoding("iso-8859-1")
                                     .GetBytes(yourString));

Текст, который вы имели в своем вопросе в начале, был преобразован следующим образом:

أحمد#المنير#محمد#فاطمه #حرستا 27-12-1949#

Обратите внимание, что только формат UTF8 сделает штриховой код "универсальным" (потому что UTF8 может представлять все символы Unicode). Кодовая страница 1256 сделает ваш штрих-код "региональным" (вы должны знать, где был написан ваш штрих-код, чтобы предположить, что он может быть закодирован с помощью арабской кодовой страницы 1256 Windows)

Я думаю, что вторая часть - это зашифрованные данные, потому что первая пара данных охватывает всю информацию первой страницы сирийского удостоверения личности.

Другие вопросы по тегам