漢字コード変換(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();
}
// -------------------------------------------------------