間違って記事消してしまったので、改めて書きなおし。。。
文字コードの変換方法を書きます。
文字コードの変換って何かというと、下記のような感じ
Shift-JIS → UTF-8
Windowsの標準が[Shift-JIS]で世の中がUnicodeに流れて行ってる中、必要な技術かと。
Shift-JISのファイルを読み取って、UTF-8に変換するとか。
ちなみにやらないと、意味不明な文字がテキストに表示されたりとか。。。
まぁ文字化けですね。
そんな問題を解決する方法を記載します。
System.Text.Encoding src = System.Text.Encoding.ASCII; System.Text.Encoding dest = System.Text.Encoding.GetEncoding("Shift_JIS"); string str = "テスト文章"; byte [] temp = src.GetBytes(str); byte[] sjis_temp = System.Text.Encoding.Convert(src, dest, temp); string sjis_str = dest.GetString(sjis_temp); Console.WriteLine(str); Console.WriteLine(sjis_str);
これでUTF-8→Shift_JISに変換してます。
2つの目のコンソール出力で文字化けしているかと思います。
(デフォルト、.netがUTF-8標準のため)
下記のように独自ユーティリティークラスのメソッドにしておくと便利かと
public static string ConvertEncoding(string src, System.Text.Encoding destEnc) { byte[] src_temp = System.Text.Encoding.ASCII.GetBytes(src); byte[] dest_temp = System.Text.Encoding.Convert(System.Text.Encoding.ASCII, destEnc, src_temp); string ret = destEnc.GetString(dest_temp); return ret; }
んなぁ難しい事じゃないので、身構えず変換しちゃいましょ。
- プログラミングC# 第5版/Jesse Liberty
- ¥5,040
- Amazon.co.jp
- プログラミングMicrosoft LINQ (マイクロソフト公式解説書 Microsoft V.../Paolo Pialorsi、Marco Russo
- ¥7,980
- Amazon.co.jp