- - PR -
UNICODE?UTF8?
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-08-29 20:35
こんにちは。
Webサービスを使用して、ユーザローカルにあるファイルをサーバで読み込み、処理をしようとしています。ここで、.NETのセキュリティにより、OpenFileDialogのFileNameプロパティーが使用できません。OpenFileメソッドを使用し、Stremから読み込めばよいとは思うのですが、S-JISでかかれたファイルを読み込むと文字化けします。.NET内ではUNICODEが処理されているからだと思います。ここで、S-JISからUNICODEにエンコードするにはどうしたらよいのでしょうか。 反対に、ログをとるときにもUNICODEで書いてしまいます。UNICODEからS-JISへデコードするには、どうしたらよいのでしょうか。 一応、「"S-JIS" or "SJIS" or "シフトJIS" or "文字コード"」でMSDN(オンライン、オフライン)を検索しましたが、該当なしでした。System.Text空間にはUTF8、UTF7、Unicode、ASCII(7ビット)のエンコーダはあるようですが、シフトJIS用はないみたいでした。 | ||||
|
投稿日時: 2002-08-30 03:40
System.Text.Encodingクラスを用いて変換することができると思います。
例えば、SJIS用のEncodingクラスを取得する場合、 System.Text.Encoding.GetEncoding("shift-jis") で取得できます。 それで、SJISのファイルを読むのであれば次のように、StreamReaderクラスを作ればいいと思います。 FileStream fs = new FileStream(入力ファイル名, FileMode.Open); StreamReader sr = new StreamReader(fs, Encoding.GetEncoding("shift-jis")); あとは、StreamReaderから読み出せば良いのではないかと思います。 | ||||
|
投稿日時: 2002-08-30 08:05
ありがとうございます。コードページの表は見たのですが、その下は見落としていました。 #しかし、なぜ「検索」でかからない←"shift-jis" |
1