VB.NET Programming

[VBNET] String To 이진수, 이진수 To String 으로 변환

ZerosKD 2020. 5. 1. 09:40
반응형

* VBNET String 을 이진수로 이진수를 String 으로 변환 예제...

 

 

- 사용한 컨트롤 : Button 2개, Label 2개, TextBox 1개

 

전체 소스 코드

Form1.vb

 

Imports System.Text

Public Class Form1

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
        'String To 2진수
        If textBox1.Text = "" Then
            Return
        End If
        'String To 2진수
        Dim btBytes() As Byte = UnicodeEncoding.Unicode.GetBytes(textBox1.Text)
        Dim strbinary As String = String.Empty

        Dim b As Byte
        For Each b In btBytes
            ' byte를 2진수 문자열로 변경
            Dim strTmp As String = Convert.ToString(b, 2)
            strbinary += strTmp.PadLeft(8, "0"c)
        Next

        label1.Text = strbinary
    End Sub

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click
        '2진수 To String
        If label1.Text = "" Then
            Return
        End If

        Dim ibytes As Integer = label1.Text.Length / 8
        Dim btOutBytes() As Byte = New Byte(ibytes) {}

        Dim i As Integer
        For i = 0 To ibytes - 1
            ' 8자리 숫자 즉 1바이트 문자열 얻기
            Dim strBin As String = label1.Text.Substring(i * 8, 8)
            ' 2진수 문자열을 숫자로 변경
            btOutBytes(i) = CType(Convert.ToInt32(strBin, 2), Byte)
        Next

        ' Unicode 인코딩으로 바이트를 문자열로
        Dim strResult As String = UnicodeEncoding.Unicode.GetString(btOutBytes)
        label2.Text = strResult.Substring(0, strResult.Length - 1)

    End Sub
End Class

 

 

* 예제 결과

 

 

반응형