タイトル : Unicode変換について 投稿日 : 2004/11/05(Fri) 11:10 投稿者 : Hamiltonian
[OSのVer]:Windows XP Pro [VBのVer]:VB.NET 現在VB6→VB.NETのバージョンアップを行っています。 バージョンアップに伴う数ある変更点のひとつに、 StrConv([文字列],vbUnicode)の定数「vbUnicode」が サポートされていないというのがあります。 これと同様のことを.NETでするにはどうしたらよいのでしょうか? いろいろ調べてみたのですが、上記関数は文字列を無理やり Shift_JISとみなしUnicodeに変換しているらしいので 以下のようなコーディングをしてみたのですがうまくいきません。 Dim strString As String = "aaa" Dim encJIS As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS" ) Dim encUni As System.Text.Encoding = System.Text.Encoding.Unicode 'Unicodeバイト配列の取得 Dim byt1() As Byte = encUni.GetBytes(strString) 'Shift_JISとみなしUnicodeに変換? Dim byt2() As Byte = System.Text.Encoding.Convert(encJIS, encUni, byt1) 'バイト配列を文字列に変換 strString = System.Text.Encoding.Unicode.GetString(byt2) これだとバイト配列は正しく取得できているようなのですが 最後の文字列が正しく取得できません(1文字しか取れない)。 .NETは初めて使うのでコーディングにも戸惑っている状態です。 よいアドバイスをよろしくお願いします。 |