No.2ベストアンサー
- 回答日時:
EUC文字列のByte配列からEncodingのGetStringで変換すれば良いでしょう
dim ss as String = System.Text.Encoding("EUC-JP").GetString(eucBytes)
でUnicode文字列へ変換できると思います
No.1
- 回答日時:
文字セットの変換には 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()
この回答への補足
ファイル出力でなく、encBytes を文字列にしたい場合は
どうすればよいのでしょうか?
説明が足りなかったのですが私がやりたいのは
HTMLを読み込んだ場合にEUC-JPだったものをVB.NETで処理できる
SJIS?(Unicode??)に内部的に変換し、その文字列を使いたいです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 入力ボックスが繰り返しポップアップして止まらない。 下記コードでファイル名の変更をしたいのですが、変 1 2022/09/08 11:27
- Visual Basic(VBA) ファイル名の右側を変更したい ファイル名:「1001日別売上」の左側へ「2022」を追加し、「202 6 2022/10/14 10:03
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) Vbaで数式をポーランド記法に変換するコードを作って実行しようとするとフリーズします。 1 2022/05/24 17:53
- Visual Basic(VBA) 集めたシートのシート名を変更したい。 下記のコードでサブフォルダにあるファイルのSheet3を集めて 6 2022/08/23 10:38
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- Visual Basic(VBA) VBAでエクセルをtxtに変換するとエクセルでカンマを含む文字数字がtxtでは「""」付にならないよ 1 2022/08/27 12:17
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
VB.NET getとsetの概念がわかりません。
Visual Basic(VBA)
-
【VB6.0】 あるフォームから他のフォームへ値を受け渡したい
Visual Basic(VBA)
-
-
4
UTF-8からShift-JISへの文字コード変換について
Windows Vista・XP
-
5
CloseとDisposeの違い
Visual Basic(VBA)
-
6
VS 2008(VB.NET)
Visual Basic(VBA)
-
7
VB6のプロジェクトロードエラーについて
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
構造体配列内の文字列検索のよ...
-
Dir関数で読み取り順を操作でき...
-
定数配列の書き方
-
vba フィルター 複数条件 3つ以...
-
VB6のメモリ解放に関して
-
複数のtextboxの処理を一括で行...
-
Redim とEraseの違いは?
-
COBOLの基本的な事なので...
-
配列の中から最大値だけ取り出...
-
VB6でやると構造体の配列になる...
-
OutOfMemoryExceptionの回避策...
-
Excelのメモリ(配列)の上限は2G...
-
Excel2010のinputboxで複数デー...
-
VBScript で ADO Streamオブジ...
-
C++で作成したDLLにVBAから配列...
-
デバイスマネージャーの一覧取得
-
配列の中の最大値とそのインデ...
-
配列をランダムに並び替えても...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
vba フィルター 複数条件 3つ以...
-
Dir関数で読み取り順を操作でき...
-
エクセルでXY座標に並べられた...
-
配列の中の最大値とそのインデ...
-
VB.NETの配列にExcelから読み込...
-
定数配列の書き方
-
Excel2010のinputboxで複数デー...
-
大量の変数を定義するにはどう...
-
構造体配列の特定のメンバーをF...
-
構造体配列内の文字列検索のよ...
-
Redim とEraseの違いは?
-
Segmentation Fault (メモリ制限?)
-
OutOfMemoryExceptionの回避策...
-
VBAでMODE関数をつくる
-
COBOLの基本的な事なので...
-
Excelのメモリ(配列)の上限は2G...
-
コンボボックスのインデックス...
-
VB6のメモリ解放に関して
おすすめ情報