Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click TextBox2.Text = Encode(TextBox1.Text) TextBox1.Text = Decode(TextBox2.Text) End Sub
'文字列から16進数の文字列へ Public Function Encode(ByVal str As String) As String '文字列を配列に変換 Dim bs As Byte() bs = System.Text.Encoding.UTF8.GetBytes(str) 'Byte配列を16進数文字列に Return BitConverter.ToString(bs).Replace("-", "") End Function
'16進数の文字列から文字列へ Public Function Decode(ByVal str As String) As String 'Byte配列の作成 Dim bs As Byte() ReDim bs(str.Length \ 2 - 1) 'バイト配列に変換 Dim i As Integer For i = 0 To bs.Length - 1 bs(i) = Byte.Parse(str.Substring(i, 2), _ Globalization.NumberStyles.AllowHexSpecifier) Next '文字列に変換 Return System.Text.Encoding.UTF8.GetString(bs) End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim I As Integer Dim sWork As String Dim iAsc As Integer Dim sHex1 As String Dim sHex2 As String
sWork = "" If TextBox1.Text <> "" Then For I = 1 To TextBox1.Text.Length Step 2 sHex1 = Mid$(TextBox1.Text, I, 1) sHex2 = Mid$(TextBox1.Text, I + 1, 1) iAsc = (Uri.FromHex(sHex1) * 16) + Uri.FromHex(sHex2) If TextBox1.Text.Length >= (I + 2) And iAsc > &H80 Then I = I + 2 sHex1 = Mid$(TextBox1.Text, I, 1) sHex2 = Mid$(TextBox1.Text, I + 1, 1) iAsc = iAsc * (16 ^ 2) + (Uri.FromHex(sHex1) * 16) + Uri.FromHex(sHex2) End If sWork = sWork & Chr(iAsc) Next End If
今回私はVB.NET学習でBinary型に変換して表示するという
ことをやりたいのですが、どうもうまくいきません基本的に
どうしたいかと言いますと、
1、テキストかなにかに適当に文を打てるようにし
2、その文を変換するためのボタンを作成し
3、ボタンを押すとバイナリデータに変換&表示できるように
したいのです。
バイナリデータで表示されると16進数で分が表示されるわけな
んですがどうもうまくいきません変換等に詳しい方ぜひ教えて
ください。よろしくお願いします。