2

私が制御していないサードパーティ プログラムから文字列を取得しています。コードの一部はこれを HTML で出力します。これは英語では問題なく機能しますが、他の言語ではおかしな方法で表示されます。たとえば、スペイン語のアクセントはおかしく見え、東方言語 (つまり韓国語) の文字はとてもおかしく見えます。すべての言語が正しく表示されるように、エンコード作業を行う必要があると確信しています。

私のエンコーディングの理解はちょっと貧弱なので、直感的に思う本当の質問を投稿する前に、「これをC#でUTF-8にエンコードするにはどうすればよいですか」という質問を投稿する前に、より簡単に投稿して問題をより理解したいと思います質問。

ここでの私の質問は次のとおりです。入力文字列のエンコーディングの種類をどのように知ることができますか? スペイン語でアクセントを付けると、「Acción」ではなく「Acción」のようになります。これは ANSI ですか、それとも何を扱っていますか?

よろしくお願いします!

4

1 に答える 1

8

私はアクセントを得る:「Acción」

√文字の存在は完全に無料です。アクセント付き大文字 A の文字コードは 0xC0 以上です。多くの場合、これは 2 バイトの utf-8 でエンコードされた文字の最初のバイトです。ó グリフはコードポイント U+00F3 であり、utf-8 エンコーディングは 0xC3 + 0xB3 です。ã と ³ のコードポイントはどれですか

文字列は utf-8 でエンコードされていますが、Encoding.Default のような 8 ビット エンコーディングで読み取っています。

于 2012-12-21T17:10:25.287 に答える