2

I got a serious problem regarding Unicode and utf8, I saved a paragraph of Arabic/Persian text file into notepad and saved it, now I saw my information like

Êæ Çíä ÓæÑÓ ÈÑäÇãå ÚÏÏ ÏáÎæÇåí Ñæ ÇÒ æÑæÏí ãííÑå æ Èå Øæá åãæä ÚÏÏ ãËáËí Ñæ ÑÓã ãí ˜äå 

my question is how to get back my data, it is important for me to get this data back, thanks in advance

4

2 回答 2

1

在 Linux 上,您可以使用 Gedit 将其作为 1256 编码文件打开:

gedit shahnameh.txt --encoding WINDOWS-1256

您可以通过 gui 执行相同的工作。打开文件时,您只需要从“打开”对话框中选择正确的编码。它应该在打开的对话框的底部。

于 2014-01-01T11:07:22.780 回答
1

该段落通过另存为代码页 1256(阿拉伯语/波斯语)进行打乱,然后解释为代码页 1252(西欧),最后保存为 Unicode 文本。您可以使用 C# 来反转此过程:

string scrambled = "Êæ Çíä ÓæÑÓ ÈÑäÇãå ÚÏÏ ÏáÎæÇåí Ñæ ÇÒ æÑæÏí ãííÑå æ " + 
                   "Èå Øæá åãæä ÚÏÏ ãËáËí Ñæ ÑÓã ãí ˜äå";
byte[] bytes = Encoding.GetEncoding("windows-1252").GetBytes(scrambled);
string plainText = Encoding.GetEncoding("windows-1256").GetString(bytes);
Console.WriteLine(text);

纯文本输出为:“تو اين سورس برنامه عدد دلخواهي رو از ورودي ميگيره و به طول همون عدد مثلثي رو رسم مي کنه”

于 2013-10-28T07:16:42.213 回答