質問

ANSIエンコード形式とは何ですか?システムのデフォルト形式ですか?ASCIIとどのような点が違うのでしょうか?

役に立ちましたか?

解決

ANSI エンコーディングは、システム (通常は Windows) 上の標準コード ページを指すために使用されるやや一般的な用語です。より正確にはこう呼ばれます Windows-1252 西部/米国でシステム。(他の特定のものを表すこともできます) Windows コードページ 他のシステムでは。)これは本質的には ASCII 文字セットの拡張 すべての ASCII 文字と追加の 128 文字コードが含まれるという点です。この違いは、「ANSI」エンコーディングが ASCII の 7 ビットではなく 8 ビットであるという事実によるものです (ASCII は現在、ほとんどの場合、8 ビット バイトとしてエンコードされています) MSB 0に設定します)。このエンコーディングが通常 ANSI と呼ばれる理由については、この記事を参照してください。

「ANSI」という名前は実際の ANSI 標準に対応していないため、誤った呼び名ですが、この名前は定着しています。ANSI は UTF-8 とは異なります。

他のヒント

技術的には、ANSIは、US-ASCIIと同じでなければなりません。それは単にASCIIの ANSI の組織の批准版であるANSIのX3.4の標準を指します。トップビットセットの文字の使用は、それが7ビットの文字セットであるとしてASCII / ANSIで定義されていません。

「どんなマシンのシステムコードページが使用されている」として、

しかしDOSによる用語の誤用、その後、Windowsのコミュニティの年は、その実用的な意味を残しています。システムのコードページは、時々、複数のバイト当たりの文字エンコーディングすることができ東アジアシステムであるため、「MBCS」として知られています。いくつかのコードページは、プレーンなASCIIでさえ、厳格な互換性はありませんので、でも、マルチバイト文字列のバイトを末尾としてトップビットクリアバイトを使用することができます...それでも、それはまだ「ANSI」と呼ばれています。

(それは非常に似ているが)

米国と西欧のデフォルト設定では、Windowsコードページ1252に「ANSI」マップこれはISO-8859-1と同じではありません。他のマシン上では、まったく他の何かである可能性があります。これは、外部エンコーディング識別子として「ANSI」は全く役に立たないことができる。

厳密に言えば、ANSI エンコーディングのようなものは存在しません。口語的には、ANSI という用語はいくつかの異なるエンコーディングに使用されます。

  1. ISO 8859-1
  2. Windows CP1252
  3. Windows マシン上の現在のシステム エンコーディング (Win32 API 用語)。

昔Microsoftは、他のみんなと同じように、7ビットの文字セットを使用し、それは彼らに合ったときに、彼らはコアサブセットとしてASCIIを保ったものの、彼らは、自分自身を発明しました。その後、彼らは、世界は8ビットエンコーディングに移っていたし、国際的な基準は、ISO-8859ファミリとして、周りにいたことに気づきました。あなたは、国際標準のホールドを取得したいとあなたが米国に住んでいた場合には当時、あなたは米国政府が望んでいるので、それはだ、独自のブランディングや数字で国際基準を再発行米国規格協会、ANSI、(からそれを買いましたアメリカの標準への準拠、国際基準ではありません)。だから、ISO-8859のMicrosoftのコピーが表紙に「ANSI」を述べました。 Microsoftは非常に当時の基準に使用されていなかったので、彼らは、ANSIは、他の規格の多くを公表することを認識していませんでした。そこで彼らは(彼らが本当に当時の基準を理解していなかったので、彼らが発明の変種)、表紙に名前でISO-8859ファミリで基準にいう「ANSI」、そしてそれがマイクロソフトにその方法を発見しましたしたがって、ユーザーコミュニティへのユーザーマニュアルと。それは約30年前だったが、あなたはまだ時々、今日の名前を聞いています。

ASCII のちょうど128個のシンボルと7ビットのコードページを定義します。 ANSIは8ビットにこれを拡張し、シンボル255から128のためのいくつかの異なるコードページがある。

それは実際にこのコードページを定義するISO / IEC 8859規格であるため、

の命名ANSIが正しくありません。参考のために ISO / IEC 8859 のを参照してください。 16コードページISO / IEC 8859-16にISO / IEC 8859-1があります。

のWindows-1252 には再びいくつかの変更とISO / IEC 8859-1に基づいています主として159ウィキペディアの範囲128内に設定する のC1制御の範囲内でそれのWindows-を述べ1252はまた、ISOと8859の間に第二ハイフンでISO-8859-1として参照されている(信じられない!誰がそのような何かをする?!?)

基本的に「ANSIは、」Windowsでのレガシーコードページを指します。参照してください。レイモンド・チェンの記事は、このトピックにを。最初の127の文字は上部の文字がしかし、変化、ほとんどのコードページでASCIIと同一である。

ただし、ANSIは、のないのことは、自動的にCP1252またはラテン1を意味しています。

あなたにもかかわらず、すべての混乱は、単純に、今日、このような問題を回避し、Unicodeを使用する必要があります。

あなたの PC が「西洋型」PC ではなく、どのコード ページが使用されているかわからない場合に備えて、このページを参照してください。 各国語サポート (NLS) API リファレンス

[Microsoft はこの参照を削除し、Web アーカイブから取得しました 各国語サポート (NLS) API リファレンス

または、レジストリをクエリすることもできます。

C:\>reg query HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage /f ACP

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\CodePage
    ACP    REG_SZ    1252

End of search: 1 match(es) found.

C:\>

シングルバイト文字を使用する場合は、ASCIIフォーマットは、最初の127個の文字を定義します。 128-255からの拡張文字は、他の言語のための限定的なサポートを可能にするために、様々なANSIコードページで定義されています。 ANSIエンコードされた文字列の意味を理解するためには、あなたはそれが使用するコードページを知る必要があります。

「ANSI」のテキストは、ストリーミングテキストの流れを変えるためにANSI.SYSドライバを介してDOSで使用可能な疑似VT-100エスケープコードと呼ばとき、私はおそらくあなたにそれがある場合には言及されていないものを....覚えています http://en.wikipedia.org/wiki/ANSI_escape_codeする

を参照してください

ANSI (別名 Windows-1252/WinLatin1) は、ラテン文字の文字エンコーディングであり、次のものによく似ています。 ISO-8859-1。見てみるのもいいかもしれません それはウィキペディアにあります.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top