Sabtu, 26 Maret 2011

0

[VB.NET] Mari Kita Belajar Encoding String ke Hexadesimal

  • Sabtu, 26 Maret 2011
  • Nurkholish Ardi Firdaus
  • Share
  • Awalnya saya penasaran dan ingin mempelajari tentang heksadesimal dalam pemrograman pada VB.NET. Bagaimana caranya mengkonversi string kedalam heksadesimal?. Ternyata setelah dipahami tidak terlalu sulit. Heksadesimal itu sendiri adalah sistem bilangan yang menggunakan 16 simbol (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F), oleh karena itu heksadesimal disebut dengan sistem bilangan base16 (berbasis dari 16 simbol). Untuk bisa mengkorversi string kedalam heksadesimal kita bisa melakukannya dengan sederhana seperti dibahwah ini:

    Pseudo Code pada VB.NET:

    Fungsi StringToHex(txt:String)
    1. Variable txt = String yang akan kita konversi
    2. Array bytes() = Array bertipe byte
    3. bytes=System.Text.Encoding.ASCII.GetBytes(txt)
    4. Kembalikan nilai Replace(BitConverter.ToString(bytes), "-", "")


    Bingung memahaminya?, mari kita implementasikan saja kode tadi ke VB.NET

    Buatlah: 1 Form, 2 TextBox, 2 Button


    Atur seperti ini:


    Atur Seperti Ini Sesuai Nomor:
    1=TextBox
       Name: txtStr
       MultiLine: True
    2=Button
       Name: cmdToHex
       Text: Convert >>>
    3=Button
       Name: cmdToStr
       Text: <<< Convert
    4=TextBox
       Name: txtHex
       MultiLine: True
    
    Nah, tinggal masukin Source Code berikut:
    Public Class Form1
        ' coded by nurkholish af
        ' http://www.cr0wja.co.cc
    
        Private Sub cmdToHex_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdToHex.Click
            txtHex.Text = StrToHex(txtStr.Text)
        End Sub
        Private Function StrToHex(ByVal txt As String) As String
            Dim bytes() As Byte
            Dim strHex As String
            bytes = System.Text.Encoding.ASCII.GetBytes(txt)
            strHex = Replace(BitConverter.ToString(bytes), "-", "")
            Return strHex
        End Function
        Private Function HexToStr(ByVal txt As String) As String
            Dim bound As Int32 = (txt.Length / 2) - 1   ' menentukan upper bound array
            Dim bytes(bound) As Byte
            Dim sDecode As String
            For i As Int32 = 0 To bound
                bytes(i) = Convert.ToByte(txt.Substring(i * 2, 2), 16)   ' mengubah 2 byte string dari hex menjadi byte berdasarkan base16
            Next
            sDecode = System.Text.Encoding.ASCII.GetString(bytes)   ' mendapatkan string dari array byte
            Return sDecode
        End Function
        Private Sub cmdToStr_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdToStr.Click
            txtStr.Text = HexToStr(txtHex.Text)
        End Sub
        ' Help
        ' kenapa kita pakai base16??? karena ini sesuai dengan kombinasi karakter yg dipakai hexadesimal (A,B,C,D,E,F,0,1,2,3,4,5,6,7,8,9) berjumlah 16
        ' hanya itu yang ku tahu
        ' 2011 Crowja
    End Class
    Source code bisa di download disini:
    Crowja-Coderz
    Jangan Lupa Komentar Yaa..
    Related Posts Plugin for WordPress, Blogger...

    0 Komentar Untuk “[VB.NET] Mari Kita Belajar Encoding String ke Hexadesimal”

    Posting Komentar

    Berikan komentar positif tentang artikel yang sederhana ini niscaya sobat akan mendapatkan balasannya. Hehehe

    Subscribe