Unicode と utf8 に関して深刻な問題が発生しました。アラビア語/ペルシャ語のテキスト ファイルの段落をメモ帳に保存して保存したところ、次のような情報が表示されました。
Êæ Çíä ÓæÑÓ ÈÑäÇãå ÚÏÏ ÏáÎæÇåí Ñæ ÇÒ æÑæÏí ãííÑå æ Èå Øæá åãæä ÚÏÏ ãËáËí Ñæ ÑÓã ãí ˜äå
私の質問は、データを取り戻す方法です。このデータを取り戻すことが重要です。事前に感謝します
Unicode と utf8 に関して深刻な問題が発生しました。アラビア語/ペルシャ語のテキスト ファイルの段落をメモ帳に保存して保存したところ、次のような情報が表示されました。
Êæ Çíä ÓæÑÓ ÈÑäÇãå ÚÏÏ ÏáÎæÇåí Ñæ ÇÒ æÑæÏí ãííÑå æ Èå Øæá åãæä ÚÏÏ ãËáËí Ñæ ÑÓã ãí ˜äå
私の質問は、データを取り戻す方法です。このデータを取り戻すことが重要です。事前に感謝します
段落は、コード ページ 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);
プレーン テキストの出力は次のとおりです。