-PR-
  • 困ってます
  • 質問No.4448382
解決
済み

.NET 文字コードの変換

  • 閲覧数8700
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 4% (6/145)

VB2008で文字列を他の文字コードにする方法が知りたいです。
何かしての部分がわかりません。
VB2005でも使えるものだったらうれしいです。

Dim str_sjis as string
Dim str_euc as string = "パソコン" '例えばEUC-JP

'''何かして

str_sjisにシフトJISで文字列が入っている。


.Netの文字コードの変換の仕方がごちゃごちゃして分かりづらいです。
  • 回答数2
  • 気になる数0

質問者が選んだベストアンサー

  • 回答No.2
レベル14

ベストアンサー率 71% (1325/1856)

EUC文字列のByte配列からEncodingのGetStringで変換すれば良いでしょう

dim ss as String = System.Text.Encoding("EUC-JP").GetString(eucBytes)
でUnicode文字列へ変換できると思います
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 71% (1325/1856)

文字セットの変換には Sysytem.Text.Encodingクラスを使います VB.NETの文字列は基本的にUnicodeです 1) 元の文字列変数から UnicodeのByte配列を取得 2) Byte配列から Sysytem.Text.Encoding.Convertを使って変換先のByte配列を作成 3) このバイト配列をファイル等に出力 といった手順です 2)の変換をする際に ...続きを読む
文字セットの変換には Sysytem.Text.Encodingクラスを使います
VB.NETの文字列は基本的にUnicodeです

1) 元の文字列変数から UnicodeのByte配列を取得
2) Byte配列から Sysytem.Text.Encoding.Convertを使って変換先のByte配列を作成
3) このバイト配列をファイル等に出力
といった手順です
2)の変換をする際に 元のエンコーディングオブジェクトと変換先のエンコーディングオブジェクトが必要になります


' エンコーダを取得 EUC-JP or Unicode
dim uniEnc as System.Text.Encoding = System.Text.Encoding.Unicode
dim eucEnc as System.Text.Encoding = System.Text.Encoding.GetEncoding("EUC-JP")
' 元文字列をByte配列へ
dim ss as String = "パソコン"
dim uniBytes() as Byte = uniEnc.GetBytes( ss )
' UnicedeのByte配列からEUC-JPのバイト配列に変換
dim eucBytes() as Byte
encBytes = System.Text.Encoding.Convert( uniEnc, eucEnc, uniBytes)
' ファイル出力
dim st as new System.IO.FileStream("ファイルパス", IO.FileMode.Create)
st.Write( eucBytes, 0, eucBytes.Length )
st.Close()
補足コメント
kourei

お礼率 4% (6/145)

ファイル出力でなく、encBytes を文字列にしたい場合は
どうすればよいのでしょうか?

説明が足りなかったのですが私がやりたいのは
HTMLを読み込んだ場合にEUC-JPだったものをVB.NETで処理できる
SJIS?(Unicode??)に内部的に変換し、その文字列を使いたいです。
投稿日時 - 2008-11-03 00:02:03
  • 回答数2
  • 気になる数0
このQ&Aで解決しましたか?

関連するQ&A

-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ