1

特定のドキュメントを解析しているときに、実際には ANSI 番号である文字コード 146 を取得しました。文字をテキストファイルに書き込んでいる間、何も表示されません。文字をUnicode番号-8217として書くと、文字は正常に表示されます。

C# で ANSI 番号 146 を Unicode 8217 に変換する方法についてアドバイスをいただけないでしょうか。

参照: http://www.alanwood.net/demos/ansi.html

ありがとう

4

2 に答える 2

8

「ANSI」は実際には誤称です。多くの場合「ANSI」として知られるエンコーディングが多数あります。ただし、コード ページ 1252 が必要な場合は、次を使用できます。

Encoding encoding = Encoding.GetEncoding(1252);
using (TextReader reader = File.OpenText(filename, encoding))
{
    // Read text and use it
}

また

Encoding encoding = Encoding.GetEncoding(1252);
string text = File.ReadAllText(filename, encoding);

これはファイルの読み取り用です。ファイルの書き込みも同じ考えです。基本的に、バイナリ (ファイルの内容など) からテキストに変換する場合は、適切なEncodingオブジェクトを使用します。

于 2011-05-31T07:20:17.990 に答える
3

Joel の「Absolute Minimum Every Software Developer Must Know About Unicode and Character Sets 」を読むことをお勧めします。あなたの質問にはかなり多くのことが含まれており、私の経験では、理解できない場合は単純な答えに苦労するだけです。読むのに約 15 分かかります。

于 2011-05-31T07:21:08.423 に答える