Veröffentlicht am :
Makro CREATION_INTERNE

Hexadezimal zu ASCII Konvertierung

Dieser Code ist auch verfügbar auf: English Español Français
Dieses Makro namens AHGits nimmt eine Zeichenkette als Eingabe, wobei jedes Zeichenpaar einen Hexadezimalcode darstellt (z.B. '41' für 'A'). Es iteriert über diese Zeichenkette, extrahiert jedes Hexadezimalpaar, konvertiert es in seinen entsprechenden Dezimalwert und dann in sein ASCII-Zeichen unter Verwendung der Funktion `SYSFUNC(BYTE())`, und verkettet diese Zeichen, um die endgültige Ausgabekette zu bilden. Es ist nützlich, um hexadezimal kodierte Zeichenketten zu dekodieren.
Datenanalyse

Type : CREATION_INTERNE


Das Makro operiert direkt auf der ihm als Parameter übergebenen Zeichenkette (`str`), ohne auf externe oder interne Datenquellen (wie SASHELP oder bereits vorhandene Tabellen) angewiesen zu sein.

1 Codeblock
MACRO
Erklärung :
Dieser Block definiert das Makro `AHGits`. Es initialisiert lokale Variablen für die Schleife und den Aufbau der Ausgabekette. Die Variable `n` berechnet die Anzahl der Hexadezimalpaare in der Eingabestring. Eine `%do`-Schleife iteriert über jedes Paar. `%substr(&str,&from,2)` extrahiert zwei Zeichen (die einen hexadezimalen Wert darstellen). Die Funktion `SYSFUNC(BYTE())` konvertiert diesen hexadezimalen Wert in sein entsprechendes ASCII-Zeichen. Dieses Zeichen wird dann an die Variable `outstr` angehängt, die das Ergebnis akkumuliert. Das Makro gibt schließlich die dekodierte Zeichenkette `outstr` zurück.
Kopiert!
1%macro AHGits(str);
2%local i n outstr from char;
3%let n=%eval(%LENGTH(&str)/2);
4 
5%DO i=1 %to &n;
6%let from=%eval(&i*2-1);
7%let outstr=&outstr%sysfunc(byte(%substr(&str,&from,2)));
8%END;
9&outstr
10%mend;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.