How to decode Leet Speak (where numbers resemble letters (7->T, 1->I, 5->S, 3 -> E)) in VB.NET

1 Answer

0 votes
Imports System
				
' 7H15 M3554G3 is written in leet speak, where numbers resemble letters.
' place each leetspeak character with its matching letter
' (7 -> T, 1 -> I, 5 -> S, 3 -> E) and build a new string
' 7H15 -> THIS | M3554G3 -> MESSAGE

' Your brain can interpret distorted or number‑substituted letters
' surprisingly well because it recognizes the overall word
' shapes and patterns, not just individual characters.

Module LeetDecoder

    ' ------------------------------------------------------------
    ' Convert a single leet character into a normal alphabet letter
    ' ------------------------------------------------------------
    Function DecodeChar(c As Char) As Char
        Select Case c
            Case "7"c : Return "T"c
            Case "1"c : Return "I"c
            Case "5"c : Return "S"c
            Case "3"c : Return "E"c
            Case "4"c : Return "A"c
            Case "0"c : Return "O"c
            Case Else : Return c   ' keep letters like H, M, G, etc.
        End Select
    End Function

    ' ------------------------------------------------------------
    ' Convert an entire string from leet speak to normal text
    ' ------------------------------------------------------------
    Function DecodeLeet(s As String) As String
        Dim result As New Text.StringBuilder(s.Length)

        For Each ch As Char In s
            result.Append(DecodeChar(ch))
        Next

        Return result.ToString()
    End Function

    Sub Main()

        ' Test lines provided by the user
        Dim lines() As String = {
            "7H15 M3554G3",
            "53RV35 7O PR0V3",
            "H0W 0UR M1ND5 C4N",
            "D0 4M4Z1NG 7H1NG5!",
            "1MPR3551V3 7H1NG5!",
            "1N 7H3 B3G1NN1NG",
            "17 WA5 H4RD BU7",
            "N0W, Y0UR M1ND 1S",
            "R34D1NG 17",
            "4U70M471C4LLY."
        }

        ' Decode and print each line
        For Each line As String In lines
            Console.WriteLine(DecodeLeet(line))
        Next

    End Sub

End Module



' Expected output:
'
' THIS MESSAGE
' SERVES TO PROVE
' HOW OUR MINDS CAN
' DO AMAZING THINGS!
' IMPRESSIVE THINGS!
' IN THE BEGINNING
' IT WAS HARD BUT
' NOW, YOUR MIND IS
' READING IT
' AUTOMATICALLY.

 



answered 2 hours ago by avibootz
...