質問

誰かが私がこれでグーグル検索をすることを勧める前に、私は持っています。コードページとエンコーディングの種類についてもう少し明確にする必要があります。

UTF8エンコードを使用し、イタリア語のコードページを使用してからフランス語のコードページを使用する場合、バイトが変更されていなくても異なる文字が表示されるということですか?

役に立ちましたか?

解決

Joelには、これに関する素晴らしい要約があります:
http://www.joelonsoftware.com/articles/Unicode.html

いいえ。私があなたの質問を正しく理解していれば、それはそれを意味しません。 UTF-8を特定のコードページに変換する場合、一部の文字のみが変換される可能性があります。変換されないものに何が起こるかは、変換の呼び出し方法によって異なります。考えられる結果は、コードページにマップできなかった文字が疑問符文字に変換されることです。

他のヒント

エンコードとは、単に数値と「文字」の間のマッピングです。

US-ASCIIは、数字65を文字Aに、32をスペースに、49を数字「1」にマッピングします。 (これらのものがどのようにレンダリングされるかは別の問題です。)実際、UTF-8は同じことをします!しかし、UTF-8がASCIIとは異なる方法で扱う他の値があります。これは可変長エンコードです。つまり、文字は1、2、3、または4バイトでエンコードできます。一般的な文字は一般に少ないバイトを消費します。

Webページを含むプレーンテキストファイルは、バイトシーケンスとして保存および送信されます。これらのバイトは、何かテキストを表すことになっています。ソフトウェアアプリケーション(テキストエディターやWebブラウザーなど)は、画面上のこれらのファイル内の情報を引き継ぐ責任があります。通常、ライブラリまたはOS関数を使用します。

ソフトウェアがファイルを作成したソフトウェアと異なるエンコーディングを想定している場合、間違った文字が表示される可能性があります!

異なるエンコーディング間で変換できることに注意してください。ただし、特定の文字を含まないエンコーディングに変換する場合は、代わりに使用するものを選択する必要があります。この変換はしばしば透過的に行われます(特定のエンコーディングでファイルを保存する場合、入力したものはすべてそのエンコーディングに変更する必要があります)。

UTF-8にはフランス語とイタリア語のコードページのすべての文字が含まれますが、言語固有のコードページには他のすべての文字は含まれません。

したがって、各言語からの入力を取得して保存するためにUTF-8に変換できますが、イタリア語の入力を取得してフランス語で表示した場合に正しい文字が取得されるかどうかはわかりません。

可能な限りUTF-8を使用します。

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