3

次の文字列をデコードしようとしています。

Crédit 

次のコードを使用して c# で:

    Encoding iso = Encoding.GetEncoding("ISO-8859-1");
    Encoding utf8 = Encoding.UTF8;
    string msg = iso.GetString(utf8.GetBytes(@"Crédit"));

これは次の結果をもたらします:

Crédit

私はオンラインで http://jeppesn.dk/utf-8.htmlを見ましたが、これは正しい utf 8 であり、次のようになります。

Crédit

誰かが私が間違っているところを指摘できますか?

ありがとう

4

2 に答える 2

4
于 2012-12-12T17:35:33.313 に答える
2

基本的に意味のないことをしようとしています。あるエンコーディングの出力を別のエンコーディングへの入力として解釈することはほとんどありません。これは、「この画像をgifとして保存し、jpegローダーを使用してそのファイルをロードするとします...どのように表示されますか?」と言っているようなものです。

あなたが使用する場合、私はそれを疑う:

// Just an example: don't actually do this.
string msg = utf8.GetString(iso.GetBytes(@"Crédit"));

...それはあなたが望むことをするでしょう、しかしあなたはこれを全くするべきではありません

さて、あなたの本当のインプットは(どのような形で)何を達成しようとしていますか?


1そうしている場合は、通常、他の誰かがすでに間違ったことを行っているか、どこかに構成の問題があることが原因です。これを実行していることに気付いた場合は、実際に実行する必要があるのか​​、それとも別の方法で取り組む必要のある別の問題を回避しているだけなのかを慎重に検討する必要があります。

于 2012-12-12T17:38:43.743 に答える