ASCII nach HEX Konvertierung z.B. ABC nach 414243
Hallo allesamt !
ich habe da eine vielleicht etwas exotische Problemstellung
für einen selbst gebastelten Webseitengenerator.
Zwar ist das Problem schon per selbstprogrammierter exe gelöst, aber es "passt" nicht in das batch-Projekt.
(Nur für diese Funktion ruft das batch eine exe auf -> blöd)
Aufgabe :
eine Variable hat den Wert ABC und soll in die ASCII-hex-Darstellung gewandelt werden.
Es soll aus rauskommen : 414243.
... dies natürlich für den gesamten Zeichenvorrat
Könnt ihr mir Ansätze aufzeigen wie in Batch so etwas realisiert werden kann?
Grüße und besten Dank im Voraus.
ich habe da eine vielleicht etwas exotische Problemstellung
für einen selbst gebastelten Webseitengenerator.
Zwar ist das Problem schon per selbstprogrammierter exe gelöst, aber es "passt" nicht in das batch-Projekt.
(Nur für diese Funktion ruft das batch eine exe auf -> blöd)
Aufgabe :
eine Variable hat den Wert ABC und soll in die ASCII-hex-Darstellung gewandelt werden.
Es soll aus rauskommen : 414243.
... dies natürlich für den gesamten Zeichenvorrat
Könnt ihr mir Ansätze aufzeigen wie in Batch so etwas realisiert werden kann?
Grüße und besten Dank im Voraus.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 118385
Url: https://administrator.de/forum/ascii-nach-hex-konvertierung-z-b-abc-nach-414243-118385.html
Ausgedruckt am: 24.05.2025 um 09:05 Uhr
8 Kommentare
Neuester Kommentar

Hallo alleine,
DOS 437/850 ? Ansi ? ISO 8859-1 /-15 ? UTF-8 /-16? etc..
Im Klartext ist es günstiger ein vorhandenes externes Programm zu benutzen.
Gruß
LotPings
eine Variable hat den Wert ABC und soll in die ASCII-hex-Darstellung gewandelt werden.
Es soll aus rauskommen : 414243.
... dies natürlich für den gesamten Zeichenvorrat
Das ist erstens mit nur Batchmitteln extrem langsam und schwierig und je nach Definition von gesamten Zeichenvorrat unmöglich.Es soll aus rauskommen : 414243.
... dies natürlich für den gesamten Zeichenvorrat
DOS 437/850 ? Ansi ? ISO 8859-1 /-15 ? UTF-8 /-16? etc..
Könnt ihr mir Ansätze aufzeigen wie in Batch so etwas realisiert werden kann?
Zeichen für Zeichen gegen ein Pseudoarray vergleichen.Im Klartext ist es günstiger ein vorhandenes externes Programm zu benutzen.
Gruß
LotPings
... oder vielleicht damit das Auslangen zu finden:
Grüße
bastla
[Edit] Zeile 6 korrigiert [/Edit]
@echo off & setlocal
set A=%temp%\ASC2HEX.vbs
>%A% echo A=WScript.Arguments(0):For i=1 To Len(A):H=H^& Hex(Asc(Mid(A,i,1))):Next:WScript.Echo H
set "ASC=ABCDE"
for /f %%i in ('cscript //nologo %A% "%ASC%"') do set "HEX=%%i"
echo %ASC% --^> %HEX%
bastla
[Edit] Zeile 6 korrigiert [/Edit]

Hallo bastla,
du hast ja Recht
Aber damit nicht immer 414243 rauskommt, würde ich Zeile 06 ändern in
Gruß
LotPings
du hast ja Recht
Aber damit nicht immer 414243 rauskommt, würde ich Zeile 06 ändern in
for /f %%i in ('cscript //nologo %A% "%ASC%"') do set "HEX=%%i"
Gruß
LotPings

44616E6B652021 sähe aber besser aus 
Und für die Leute, die Ascii in Hex nicht direkt lesen können:
Gruß
LotPings
Und für die Leute, die Ascii in Hex nicht direkt lesen können:
:: HEX2ASC.cmd :::::::::::::::::::::::::::::::::::::::::::::::::::::
:: [content:118385#449415]
@echo off & setlocal
Set vbs="%~dpn0.vbs"
>%vbs% echo H=WScript.Arguments(0):For i=1 To Len(H) step 2:A=A^&chr("&H"^&Mid(H,i,2)):Next:WScript.Echo A
set "HEX=44616E6B652021"
for /f "delims=" %%i in ('cscript //nologo %vbs% "%HEX%"') do set "ASC=%%i"
echo %HEX% --^> %ASC%
Gruß
LotPings

OT
Ja, aber wenn man schreit, ist es so schwer dabei "freundlich" zu klingen.
/OT
Ja, aber wenn man schreit, ist es so schwer dabei "freundlich" zu klingen.
/OT