Decodificar TAG XML Base64 .Net

443 views
Skip to first unread message

Gustavo

unread,
Sep 14, 2011, 8:30:04 AM9/14/11
to Comunidad de Visual Foxpro en Español
Hola:

Tengo un archivo xml que me pasan y tiene un Tag con una cadena
codificada en base64, me han pasado el código en .net para tratarla:

string spdf = "contenido del tag";
base64decoder decoder = new BASE64Decoder();
byte [] pp = decoder.decodebuffer(spdf);
con el array de byte se genera el fichero con outpustream
Mas o menos, alguien sabe como podría hacerlo en fox.

Gracias de todas formas.


Baltazar Moreno

unread,
Sep 14, 2011, 10:28:37 AM9/14/11
to publice...@googlegroups.com
sPDF = "contenido del tag"
ContenidoDecodificado = STRCONV(sPDF,14)
?ContenidoDecodificado 

Saludos!

--
Baltazar Moreno
VFP9SP2 - Win7
Guadalajara, Jalisco, México

ArturoPC

unread,
Sep 19, 2011, 12:55:44 PM9/19/11
to Comunidad de Visual Foxpro en Español
Gustavo:

Yo utilizo el FoxCrypto, una FLL que funciona muy bien.

Descargátela de: http://www.aduanet.gob.pe/js/app/WebServices/clienteWSVisualFoxPro.zip

Aquí un ejemplo de cómo usarla.

*
** Decodifica archivo en base 64 ---------*
FUNCTION xxDecodifica64
PARAMETER pCadena
LOCAL lcBinary, lnHandle, lnSize
lnHandle = Base64DecoderCreate()
IF lnHandle > 0
Base64DecoderPut(lnHandle, pCadena)
Base64DecoderClose(lnHandle)
lnSize = Base64DecoderMaxRetrievable(lnHandle)
lcBinary = Base64DecoderGet(lnHandle, lnSize)
Base64DecoderDestroy(lnHandle)
ELSE
WAIT WIND "ERROR al instanciar"
RETURN .F.
ENDIF
RETURN lcBinary
ENDFUNC

Arturo.

Marco Plaza

unread,
Sep 19, 2011, 1:35:52 PM9/19/11
to Comunidad de Visual Foxpro en Español
Hola Arturo cual diferencia hay entre el comando strconv( ,14) y la
fll que usas ?

Miguel

unread,
Sep 20, 2011, 2:58:14 AM9/20/11
to Comunidad de Visual Foxpro en Español
En este caso el archivo es de tipo PDF, pero esto no debería afectar
esta cuestión.
Lo que es importante aquí es saber la ruta en la que está la
aplicación Base64.exe y en la que vas a trabajar.

archi='c:\foxpro\poder22.txt'
archi2='c:\foxpro\poder.pdf'
delete file &archi2
cc=strtofile(xx,'c:\foxpro\poder22.txt')
COMANDO='! C:\foxpro\Base64.EXE -d c:\foxpro\poder22.txt '+archi2
&COMANDO
dele file c:\foxpro\poder22.txt

Si quieres ver el fichero creado "poder.pdf" en este caso

if file(aarchivo)
objeto=Createobject("InternetExplorer.Application")
objeto.Visible =.T.
objeto.navigate2(ARCHI2)
temp=inkey(3)
ObjTexto ='Cargando.'
DO WHILE objeto.busy
Wait Window ObjTexto Time(0.1)
Enddo
endif

La utilidad Base64.exe, está disponible en varios sitios web y creo
que es gratuita pero no lo recuerdo porque hace años que la utilizo.
Saludos,
Miguel

Miguel

unread,
Sep 20, 2011, 3:08:02 AM9/20/11
to Comunidad de Visual Foxpro en Español

Gustavo

unread,
Sep 21, 2011, 2:43:03 AM9/21/11
to Comunidad de Visual Foxpro en Español
Gracias a todos pero con la respuesta de Baltazar Moreno, me ha
funcionado a la perfección.

Gracias a todos.
Reply all
Reply to author
Forward
0 new messages