Преобразование двоичных данных в строку [на персидском языке]

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

Вот код, который я использую для преобразования байтов в строку (насколько это возможно):

byte[] data = binaryReader.ReadBytes(amountOfData);
string symbolRead = Encoding.ASCII.GetString(data);

К вашему сведению, я пытался изменить свой системный язык на персидский, и это тоже не помогло. Хотя это позволяет мне просматривать уже написанный текст на персидском языке.

Надеемся найти решение.

Благодарю.

2 ответа

Решение

Не использовать ASCII для кодирования. Сначала попробуйте использовать Default после установки вашей локали; затем попробуйте прямо спросить кого-то, какая кодировка наиболее часто используется для Персии, и используйте эту.

Определите, какая кодировка используется в вашем файле, и используйте соответствующую кодировку вместо Encoding.ASCII.GetString(...), Возможные значения могут быть Encoding.UTF8.GetString(...) или же Encoding.Default.GetString(...) использовать вашу системную кодировку. Смотрите документацию по классу Encoding для других возможностей.

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