У меня есть текстовый файл, который содержит персидский текст в юникоде (арабские единицы).
Моя система сломалась, и после перезагрузки я обнаружил, что мой файл поврежден.
файл в настоящее время отображает текст как это:
гУКдП ПСИЗСе Мдђ жнКдЗг ж ВгСнЗУК
гХЗНИе еЗн ВСФнжн КжФ геге
ПЮнЮе 3:27 Ун е ПЗСе дФжд гнПе ЗУгФ едСн УндМС ЗПг Онбн гегн е Кжн ВСФнж ЭжбПС Ие ЗУгФ ПЗСнг ИЪП ЗТ Знд ЛЗдне гнТде КХЗнС МПнП УндМС е ПЗСе ХНИК гнде ЗждЗ Сж ег ИђнС
ЗПгн е ЗТ 5:28 дФжд гнПе ЗУгФ ђСЗеЗг гЗСКнд УЭнС ВгСнЗ ПС жнКдЗг МджИн КХЗжнСФ Сж ИђнС
Ун е ПЮнЮе 16:48 ПЗСе ХНИК гнде МСЗбП ЭжСП СЖнУ МгежС ВгСнЗУК НжЗУК Ие КХЗжнСФ ИЗФе еге Сж ИђнС
ЪУ еЗн КжФ геге
гХЗНИе еЗн МПнП Сж дгнОжЗнг
часы верны! поэтому 3:27
и 5:28
и 16:48
и пробелы отображаются правильно, но остальная часть текста повреждена.
Я использовал шестнадцатеричный редактор и проверил юникодные единицы:
EF BB BF D0 B3 D0 A3 D0 9A D0 B4 D0 9F 20 D0 9F D0 A1 D0 98 D0 97 D0 A1 D0 B5 20 D0 9C D0 B4 D1 92 20 D0 B6 D0 BD D0 9A D0 B4 D0 97 D0 B3 20 D0 B6 20 D0 92 D0 B3 D0 A1 D0 BD C2 98 D0 97 D0 A3 D0 9A 0D 0A D0 B3 D0 A5 D0 97 D0 9D D0 98 D0 B5 20 D0 B5 D0 97 D0 BD 20 D0 92 D0 A1 D0 A4 D0 BD D0 B6 D0 BD 20 D0 9A D0 B6 D0 A4 20 D0 B3 D0 B5 D0 B3 D0 B5 0D 0A D0 9F D0 AE D0 BD D0 AE D0 B5 20 33 3A 32 37 20 C2 98 D0 A3 D0 BD 20 C2 98 D0 B5 20 D0 9F D0 97 D0 A1 D0 B5 20 D0 B4 D0 A4 D0 B6 D0 B4 20 D0 B3 D0 BD D0 9F D0 B5 20 D0 97 D0 A3 D0 B3 D0 A4 20 D0 B5 D0 B4 D0 A1 D0 BD 20 C2 98 D0 A3 D0 BD D0 B4 D0 9C D0 A1 20 D0 97 D0 9F D0 B3 20 D0 9E D0 BD D0 B1 D0 BD 20 D0 B3 D0 B5 D0 B3 D0 BD 20 C2 98 D0 B5 20 D0 9A D0 B6 D0 BD 20 D0 92 D0 A1 D0 A4 D0 BD D0 B6 20 D0 AD D0 B6 D0 B1 D0 9F D0 A1 20 D0 98 D0 B5 20 D0 97 D0 A3 D0 B3 D0 A4 20 D0 9F D0 97 D0 A1 D0 BD D0 B3 20 D0 98 D0 AA D0 9F 20 D0 97 D0 A2 20 D0 97 D0 BD D0 B4 20 D0 9B D0 97 D0 B4 D0 BD D0 B5 20 D0 B3 D0 BD D0 A2 D0 B4 D0 B5 20 D0 9A D0 A5 D0 97 D0 BD D0 A1 20 D0 9C D0 9F D0 BD D0 9F 20 C2 98 D0 A3 D0 BD D0 B4 D0 9C D0 A1 20 C2 98 D0 B5 20 D0 9F D0 97 D0 A1 D0 B5 20 D0 A5 D0 9D D0 98 D0 9A 20 D0 B3 D0 BD C2 98 D0 B4 D0 B5 20 D0 97 D0 B6 D0 B4 D0 97 20 D0 A1 D0 B6 20 D0 B5 D0 B3 20 D0 98 D1 92 D0 BD D0 A1 0D 0A D0 97 D0 9F D0 B3 D0 BD 20 C2 98 D0 B5 20 D0 97 D0 A2 20 35 3A 32 38 20 D0 B4 D0 A4 D0 B6 D0 B4 20 D0 B3 D0 BD D0 9F D0 B5 20 D0 97 D0 A3 D0 B3 D0 A4 20 D1 92 D0 A1 D0 97 D0 B5 D0 97 D0 B3 20 D0 B3 D0 97 D0 A1 D0 9A D0 BD D0 B4 20 D0 A3 D0 AD D0 BD D0 A1 20 D0 92 D0 B3 D0 A1 D0 BD C2 98 D0 97 20 D0 9F D0 A1 20 D0 B6 D0 BD D0 9A D0 B4 D0 97 D0 B3 20 D0 9C D0 B4 D0 B6 D0 98 D0 BD 20 D0 9A D0 A5 D0 97 D0 B6 D0 BD D0 A1 D0 A4 20 D0 A1 D0 B6 20 D0 98 D1 92 D0 BD D0 A1 0D 0A C2 98 D0 A3 D0 BD 20 C2 98 D0 B5 20 D0 9F D0 AE D0 BD D0 AE D0 B5 20 31 36 3A 34 38 20 D0 9F D0 97 D0 A1 D0 B5 20 D0 A5 D0 9D D0 98 D0 9A 20 D0 B3 D0 BD C2 98 D0 B4 D0 B5 20 D0 9C D0 A1 D0 97 D0 B1 D0 9F 20 D0 AD D0 B6 D0 A1 D0 9F 20 D0 A1 D0 96 D0 BD D0 A3 20 D0 9C D0 B3 D0 B5 D0 B6 D0 A1 20 D0 92 D0 B3 D0 A1 D0 BD C2 98 D0 97 D0 A3 D0 9A 20 D0 9D D0 B6 D0 97 D0 A3 D0 9A 20 D0 98 D0 B5 20 D0 9A D0 A5 D0 97 D0 B6 D0 BD D0 A1 D0 A4 20 D0 98 D0 97 D0 A4 D0 B5 20 D0 B5 D0 B3 D0 B5 20 D0 A1 D0 B6 20 D0 98 D1 92 D0 BD D0 A1 0D 0A D0 AA C2 98 D0 A3 20 D0 B5 D0 97 D0 BD 20 D0 9A D0 B6 D0 A4 20 D0 B3 D0 B5 D0 B3 D0 B5 0D 0A D0 B3 D0 A5 D0 97 D0 9D D0 98 D0 B5 20 D0 B5 D0 97 D0 BD 20 D0 9C D0 9F D0 BD D0 9F 20 D0 A1 D0 B6 20 D0 B4 D0 B3 D0 BD D0 9E D0 B6 D0 97 D0 BD D0 B3
но он не соответствует ни одному символу юникода в персидском (который начинается с d880
до dbbf
или кодовые точки от 0600
до 06ff
), в то время как пробел (блок 20
) и латинские числа верны!
Есть ли способ исправить этот текст?