Update – VB.net – ascii zu ebcdic converter
Wie es g0pher schon in meinen Beitrag kommentiert hat, geht es natürlich etwas kürzer. Anstatt die ganzen ACSII und EBCDIC Werte einzeln den Array zu übergeben, lässt sich das ganze auch per Schleife realisieren.
Und so kann es dann aussehen:
Public Function func_ascii_to_ebcdic
(sub_text
as String)
”Variablen
Dim acsii
as String =
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim ebcdic
as String =
"F0F1F2F3F4F5F6F7F8F9C1C2C3C4C5C6 _
C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E9"
Dim str_con
As String
Dim pos
as String
For x = 1 To Len(sub_text)
pos = InStr(acsii, UCase( Mid(sub_text, x, 1)))
str_con = str_con + "&H" + Mid(ebcdic, (pos – 1) * 2 + 1, 2)
Next
return str_con
End Function
Das praktische hierbei ist die InStr Funktion, damit spart man eine For Schleife. InStr liefert die Position des jeweiligen ACSII Zeichen, da die EBCDIC Werte aus 2 Zeichen bestehen, multipliziert man das ganze x 2 und erhält so über “&H” + Mid Wert den kompletten EBCDIC String.
Wie man an Hand der optimierten g0pher Funkion sehen kann, lässt sich vieles einfach und praktischer programmieren.
Share and Bookmark
Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können.
Wie es g0pher schon in meinen Beitrag kommentiert hat, geht es natürlich etwas kürzer. Anstatt die ganzen ACSII und EBCDIC Werte einzeln den Array zu übergeben, lässt sich das ganze auch per Schleife realisieren.
Und so kann es dann aussehen:
Public Function func_ascii_to_ebcdic(sub_text as String)
''Variablen
Dim acsii as String = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
Dim ebcdic as String = "F0F1F2F3F4F5F6F7F8F9C1C2C3C4C5C6 _
C7C8C9D1D2D3D4D5D6D7D8D9E2E3E4E5E6E7E8E9"
Dim str_con As String
Dim pos as String
For x = 1 To Len(sub_text)
pos = InStr(acsii, UCase( Mid(sub_text, x, 1)))
str_con = str_con + "&H" + Mid(ebcdic, (pos - 1) * 2 + 1, 2)
Next
return str_con
End Function
Das praktische hierbei ist die InStr Funktion, damit spart man eine For Schleife. InStr liefert die Position des jeweiligen ACSII Zeichen, da die EBCDIC Werte aus 2 Zeichen bestehen, multipliziert man das ganze x 2 und erhält so über "&H" + Mid Wert den kompletten EBCDIC String.
Wie man an Hand der op