- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[VB.net] StringからByte配列への変換)
[VB.net] StringからByte配列への変換
このQ&Aのポイント
- VB.NET2000でVisual Basicをはじめた方がString型の値をByte配列に変換する方法がわからず困っています。
- VB6.0ではStringをByte配列に代入するだけでよかったのですが、.NETではビルドエラーが発生します。
- ワイドバイトのStringを1バイトずつ区切ってByte配列やLong配列に格納する手法があれば教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Option Explicit On Option Strict On Option Compare Binary Option Infer Off ' VB2008以上。 Class Q3512824 Shared Sub Main() Dim Str1 As String = "ほげふが" Dim ByteArray1 As Byte() 'Code Page 932 = Shift_JISもどき 'Code Page 65001 = UTF-8 ByteArray1 = System.Text.Encoding.GetEncoding(65001).GetBytes(Str1) For Each Byte1 As Byte In ByteArray1 System.Console.WriteLine(Byte1.ToString) Next End Sub End Class
お礼
himajin100000さん 素早い返答ありがとうございます。 すみません、私の説明不足でした。 私がいま使っているAPIは、ポートが出したパケットをString型として出力するというものなのです。 つまり文章をエンコードするというよりも、JavaのString.getBytes()や、C言語のchar配列のようにASCIIコードとして変換したいのです。 himajin100000さんの紹介してくれた手法でも試してみましたが、"System.Byte[]"と空文字(?)らしき出力が出てくるのみで、うまくいきませんでした。
補足
himajin100000さん 紹介していただいた手法で System.Console.WriteLine(Byte1.ToString) ではなく、 For i = 1 to length System.Console.WriteLine( Byte1(i) ) Next のように1文字づつ回して確認してみたところ、Byte配列が生成されているのを確認しました。 早とちりな返答をしてしまい、大変申し訳ありませんでした。