fc2ブログ

トップ  >  サンプルソース  >  漢字コード変換(C#/VB.NET)

漢字コード変換(C#/VB.NET)

2010年01月10日

漢字(文字)コードを変換するサンプル(ソース/コード)です。ボタン1ではSJISから他の文字コード(UTF-8やEUC等)へ変換します。ボタン2では他の文字コード(UTF-8、他は省略)からSJISへ変換します。

漢字(文字)コードを変換する前に判定する方法は 漢字コード判定(C#/VB.NET) で書いています。

ちなみに改行コードを変換するには以下のような文字列置換で可能です。
dt = dt.Replace(vbCrLf, vbLf)
dt = dt.Replace(vbCrLf, vbCr)
dt = dt.Replace(vbLf, vbCrLf)

※漢字コード関係のツールやサンプルはこちら「漢字コード関係」です。

' --------------------------------------------------------
' 漢字コードを変換するサンプル(VB.NET/VS2005)
Private Sub Button1_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles Button1.Click

    Dim sr As IO.StreamReader
    Dim sw As IO.StreamWriter

    ' テキストファイル読込(SJIS)
    sr = New IO.StreamReader( _
        "D:\Temp\i_sjis.txt", _
        System.Text.Encoding.GetEncoding("SHIFT-JIS"))
    Dim dt As String = sr.ReadToEnd()
    sr.Close()

    ' テキストファイル書込(UTF8)
    sw = New IO.StreamWriter( _
        "D:\Temp\o_utf8.txt", False, _
        System.Text.Encoding.GetEncoding("UTF-8"))
    sw.Write(dt)
    sw.Close()

    ' テキストファイル書込(UTF7)
    sw = New IO.StreamWriter( _
        "D:\Temp\o_utf7.txt", False, _
        System.Text.Encoding.GetEncoding("UTF-7"))
    sw.Write(dt)
    sw.Close()

    ' テキストファイル書込(UNICODE)
    sw = New IO.StreamWriter( _
        "D:\Temp\o_unicode.txt", False, _
        System.Text.Encoding.GetEncoding("UNICODE"))
    sw.Write(dt)
    sw.Close()

    ' テキストファイル書込(EUC)
    sw = New IO.StreamWriter( _
        "D:\Temp\o_euc.txt", False, _
        System.Text.Encoding.GetEncoding("EUC-JP"))
    sw.Write(dt)
    sw.Close()

    ' テキストファイル書込(JIS)
    sw = New IO.StreamWriter( _
        "D:\Temp\o_jis.txt", False, _
        System.Text.Encoding.GetEncoding("ISO-2022-JP"))
    sw.Write(dt)
    sw.Close()
End Sub

Private Sub Button2_Click( _
    ByVal sender As System.Object, _
    ByVal e As System.EventArgs) _
    Handles Button2.Click

    Dim sr As IO.StreamReader
    Dim sw As IO.StreamWriter

    ' テキストファイル読込(UTF8)
    sr = New IO.StreamReader( _
        "D:\Temp\i_utf8.txt", _
        System.Text.Encoding.GetEncoding("UTF-8"))
    Dim dt As String = sr.ReadToEnd()
    sr.Close()

    ' テキストファイル書込(SJIS)
    sw = New IO.StreamWriter( _
        "D:\Temp\o_sjis.txt", False, _
        System.Text.Encoding.GetEncoding("SHIFT-JIS"))
    sw.Write(dt)
    sw.Close()
End Sub
' --------------------------------------------------------

// -------------------------------------------------------
// 漢字コードを変換するサンプル(C#.NET/VS2005)
private void button1_Click(object sender, EventArgs e)
{
    System.IO.StreamReader sr;
    System.IO.StreamWriter sw;

    // テキストファイル読込(SJIS)
    sr = new System.IO.StreamReader(
        @"D:\Temp\i_sjis.txt",
        System.Text.Encoding.GetEncoding("SHIFT-JIS"));
    String dt = sr.ReadToEnd();
    sr.Close();

    // テキストファイル書込(UTF8)
    sw = new System.IO.StreamWriter(
        @"D:\Temp\o_utf8.txt", false,
        System.Text.Encoding.GetEncoding("UTF-8"));
    sw.Write(dt);
    sw.Close();

    // テキストファイル書込(UTF7)
    sw = new System.IO.StreamWriter(
        @"D:\Temp\o_utf7.txt", false,
        System.Text.Encoding.GetEncoding("UTF-7"));
    sw.Write(dt);
    sw.Close();

    // テキストファイル書込(UNICODE)
    sw = new System.IO.StreamWriter(
        @"D:\Temp\o_unicode.txt", false,
        System.Text.Encoding.GetEncoding("UNICODE"));
    sw.Write(dt);
    sw.Close();

    // テキストファイル書込(EUC)
    sw = new System.IO.StreamWriter(
        @"D:\Temp\o_euc.txt", false,
        System.Text.Encoding.GetEncoding("EUC-JP"));
    sw.Write(dt);
    sw.Close();

    // テキストファイル書込(JIS)
    sw = new System.IO.StreamWriter(
        @"D:\Temp\o_jis.txt", false,
        System.Text.Encoding.GetEncoding("ISO-2022-JP"));
    sw.Write(dt);
    sw.Close();
}

private void button2_Click(object sender, EventArgs e)
{
    System.IO.StreamReader sr;
    System.IO.StreamWriter sw;

    // テキストファイル読込(UTF8)
    sr = new System.IO.StreamReader(
        @"D:\Temp\i_utf8.txt",
        System.Text.Encoding.GetEncoding("UTF-8"));
    String dt = sr.ReadToEnd();
    sr.Close();

    // テキストファイル書込(SJIS)
    sw = new System.IO.StreamWriter(
        @"D:\Temp\o_sjis.txt", false,
        System.Text.Encoding.GetEncoding("SHIFT-JIS"));
    sw.Write(dt);
    sw.Close();
}
// -------------------------------------------------------

GetEncodingのコード名(C#/VB.NET) | トップページへ戻る | WEBページの差分(VB.NET)

このページのトップに戻る

コメント

名前
題名
メールアドレス
WEBサイト
 
コメント
パスワード
  管理者にだけ表示を許可する

このページのトップに戻る

トラックバック

このページのトップに戻る