5

私はかなり前から違いを理解しようとしてきました。問題は、ANSIエンコーディングのファイルに次のような日本語の文字が含まれている場合です­‚È‚­‚Æ‚à1‚‚ÌINCREMENTs‚ª•K—v‚Å‚·.。shift-jisと同等で少なくとも1つのINCREMENT行が必要です.あり、日本語であると予想されます。

Webページのファイル(ANSI)から読み取った後、これらの文字を表示する必要があります。UTF-8には、これが表示されていない文字を表示する他のファイルがいくつかあります。違いを理解するのが難しいと感じています。ここで正しいことを行うためにエンコーディングを変更するにはどうすればよいですか。このファイルを読み取って表示するためにc#を使用します。また、Webで変更された場合は、文字列をファイルに書き戻す必要があります。 。ここにエンコードおよびデコードスキーマはありますか?

4

1 に答える 1

7

コード ページに関する限り、「ANSI」(およびEncoding.Default.NET 内) は、基本的に「このシステムで使用される非 Unicode コードページ」を意味します。正確には、システムの構成方法に依存しますが、西洋言語に依存します。ヨーロッパのシステム、おそらく Windows-1252 です。

そのテキストが由来するシステムでは、"ANSI" は Shift-JIS を意味するように見えるため、システムに同じコード ページがない限り、テキストを Shift-JIS として読み取るようにコードに指示する必要があります。

StreamReaderでファイルを読んでいると仮定すると、 Encodingを取るさまざまなコンストラクターがあるため、Encoding.GetEncoding("shift_jis")またはで Shift-JIS エンコーディングを取得し、Encoding.GetEncoding(932)それを使用して StreamReader を構築します。

于 2012-04-18T13:11:56.387 に答える