4

CharacterSet の関係は次のとおりです:
http://msdn.microsoft.com/en-us/library/ms709353(VS.85).aspx
と ascii エンコーディング:
http://msdn.microsoft.com/en-us/library /system.text.asciiencoding.getbytes(VS.71).aspx

4

5 に答える 5

11

ANSI は、現在の Windows ANSI コード ページであり、Encoding.Default に相当します。

OEM は、コンソール アプリケーションで通常使用される現在の OEM コード ページです。

次を使用してこれを取得できます。

Encoding.GetEncoding(CultureInfo.CurrentCulture.TextInfo.OEMCodePage)

コンソール アプリケーションでは、OEM エンコーディングも使用できます。

Console.OutputEncoding
于 2009-11-28T12:17:55.647 に答える
2

これは本当に、本当に古いです。ODBC は、Windows が MS-DOS から引き継がれ始めた石器時代にさかのぼります。当時、多くのテキストは、Microsoft によって「OEM 文字セット」と名付けられた元の IBM-PC 文字セットでエンコードされていました。標準の IBM-PC セットには、上半分のコード 0x80-0xff に、いくつかのアクセント付き文字と疑似グラフィックス グリフが含まれていました。

英語以外の言語でのテキスト出力には制限が多すぎるため、Microsoft は特定の言語グループに適した文字グリフの範囲であるコード ページの使用を開始しました。アメリカ英語の文字セットは ANSI によって標準化され、そのラベルは OEM 以外のコード ページに (誤って) 付けられるようになりました。

OEM 文字セットでテキストをエンコードする人はもういません。少なくとも 10 年前にはドードーのようになりました。ここでの適切な設定は ANSI です。また、テキストのエンコードに使用されるコード ページがシステムのデフォルトのコード ページと一致することを常に確認しておいてください。それもドドー、ユニコードで解決しました。

于 2009-11-28T15:55:15.267 に答える
1

私の理解では、 CharacterSet=ANSI はEncoding.Defaultと同等です。その場合、OEM は ASCIIEncoding である可能性があります。

ただし、ANSI はシステムの ANSI コード ページを使用するため、異なるコード ページのコンピューターから同じファイルにアクセスすると、非互換性が生じる可能性があります。

于 2009-11-28T10:07:36.757 に答える
1

あなたの質問への簡単な答えは、直接的な関係はありません。

より長いバージョン:
CharacterSet「Schema.ini」ファイルの場合は、 または のいずれANSIOEMです。
ANSI と ASCII は別のものを指します。

ここで詳細を読むことができます:
ASCII と ANSI 文字を理解する
ASCII vs ANSI エンコーディング by Alex Hoffman

于 2009-11-28T09:49:58.417 に答える
0

2つを切り替えるために、独自の参照をコンパイルしました。

Windows コード ページ 名前 System.Text.Encoding schema.ini CharacterSet
20127 アスキー (米国) アスキー 20127
1252 ANSI Latin I デフォルト ANSI
65001 UTF-8 UTF8 65001
1200 UTF-16 LE ユニコード ユニコード
1201 UTF-16 BE BigEndianUnicode 1201
于 2010-11-12T18:47:02.797 に答える