0

目標は単純です。.txt ファイルから特殊文字を含むフランス語のテキストを取得し、変数「content」に貼り付けます。文字「à」のすべてのインスタンスが「À」として解釈されていることを除いて、すべてがうまく機能しています。間違ったエンコーディング (UTF7) を選択したのでしょうか?

どんな助けでも大歓迎です。

// Using ecoding to ensure special characters work
Encoding enc = Encoding.UTF7;

// Make sure we get all the information about special chars
byte[] fileBytes = System.IO.File.ReadAllBytes(path);

// Convert the new byte[] into a char[] and then into a string. 
char[] fileChars = new char[enc.GetCharCount(fileBytes, 0, fileBytes.Length)];
enc.GetChars(fileBytes, 0, fileBytes.Length, fileChars, 0);
string fileString = new string(fileChars);

 // Insert the resulting encoded string "fileString" into "content"
 content = fileString;
4

1 に答える 1

3

あなたのコードは間違ったエンコーディングに加えて正しいです。正しいものを見つけて接続します。誰も使用しUTF7ないので、これはおそらくそうではありません。

多分それは非Unicodeのものです。試してみてくださいEncoding.Default。それは経験的にドイツでしばしば役立ちます。

また、使用するだけFile.ReadAllTextです。それはあなたがしていることすべてを行います。

于 2013-07-11T22:38:27.317 に答える