|
難しいですね。
文字化けを判断するのは人間ですから。
ただ、「SJISに変換してみたら、SJISにないはずのデータが混じっている」
というのはチェックできるので、SJIS, EUC, UTF-8, UNICODEあたりで
ないはずの文字データが混じってないかチェックするようにするのも手ではあります。
でも、通信する以上はどの文字コードで送られているかを知っているはずです。
たとえば、
HTTPサーバとクライアントはいくつもの文字コードに対応していますが、
通信相手にどの文字コードなのかを明示して通信しています。
あるいは、通信で文字コードを通知せずに、仕様として文字コードを固定するのも良いです。
なので、
System.IO.StreamReader sr = new StreamReader("a.txt", Encoding.GetEncoding("sjis"));
と、文字コードを指定するのが良いでしょう。
|