- ベストアンサー
C#文字コードについて
お疲れ様です。 いつもお世話になっております。 ディレクトリを開いて、ファイルをstreamreaderで読み込み、 処理をしてstreamwriterで書き込み。 というファイルを作っていて、文字コードの問題にぶち当たりました。 http://dobon.net/vb/dotnet/string/detectcode.html にあるプログラムを実行すると、 ある条件の時に、UTFがsjisと誤認されることがあり、それをなんとか解決できないかと考えています。 ある条件とは、 あa テストPHP など、文字コードがUTF8で、全角と半角英字が隣り合う文字列が合った場合です。 全角と半角数字ではUTF8と正しく認識されるようです。 ただし、 aあ のように、半角英字全角の組み合わせでは誤認は起きません。 同じように、 あ a テスト php と、半角スペースが空いたり あ a と、全角スペースであけてもUTF8と認識されるようです。 普段PHPで、文字コードについて深く意識したことが無かったので、 なぜこういった誤認が起きるのかが検討つきません。 どういったことが原因だと考えられるのでしょうか? また、それを改善するのに何をすればよいでしょうか? よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (2)
- chie65536(@chie65535)
- ベストアンサー率44% (8812/19983)
回答No.3
- bluecampus
- ベストアンサー率66% (138/209)
回答No.2
お礼
目から鱗です。 同じバイトデータが存在することを全く知りませんでした。 というか、バイナリで文字を扱うことがなかったので、 疑問に思う機会すらありませんでした。 この問題は非常に勉強になりました。 回答ありがとうございました。