Esta macro, llamada AHGits, toma una cadena de caracteres como entrada donde cada par de caracteres representa un código hexadecimal (por ejemplo, '41' para 'A'). Itera sobre esta cadena, extrae cada par hexadecimal, lo convierte a su valor decimal correspondiente y luego a su carácter ASCII usando la función `SYSFUNC(BYTE())`, y concatena estos caracteres para formar la cadena de salida final. Es útil para decodificar cadenas codificadas en hexadecimal.
Análisis de datos
Type : CREATION_INTERNE
La macro opera directamente sobre la cadena de caracteres que se le pasa como parámetro (`str`), sin depender de fuentes de datos externas o internas (como SASHELP o tablas preexistentes).
1 Bloque de código
MACRO
Explicación : Este bloque define la macro `AHGits`. Inicializa variables locales para el bucle y la construcción de la cadena de salida. La variable `n` calcula el número de pares hexadecimales en la cadena de entrada. Un bucle `%do` itera sobre cada par. `%substr(&str,&from,2)` extrae dos caracteres (que representan un valor hexadecimal). La función `SYSFUNC(BYTE())` convierte este valor hexadecimal en su carácter ASCII correspondiente. Este carácter se concatena luego a la variable `outstr` que acumula el resultado. Finalmente, la macro devuelve la cadena `outstr` decodificada.
¡Copiado!
%macro AHGits(str);
%local i n outstr from char;
%let n=%eval(%length(&str)/2);
%do i=1 %to &n;
%let from=%eval(&i*2-1);
%let outstr=&outstr%sysfunc(byte(%substr(&str,&from,2)));
%end;
&outstr
%mend;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.
SAS y todos los demás nombres de productos o servicios de SAS Institute Inc. son marcas registradas o marcas comerciales de SAS Institute Inc. en los EE. UU. y otros países. ® indica registro en los EE. UU. WeAreCAS es un sitio comunitario independiente y no está afiliado a SAS Institute Inc.
Este sitio utiliza cookies técnicas y analíticas para mejorar su experiencia.
Saber más.