10 FUNCTION STRING WWWDEC(STRING URIR) %TITLE "WWWDEC" %IDENT "X0.1" ! ! WWWDEC - Decode an URI, replacing %nn characters ! with their true value. ! ! (c) 2012 by Johnny Billquist ! ! X0.0 2012-04-16 Johnny Billquist ! Initial coding ! ! X0.1 10-Mar-2017 Johnny Billquist ! Added scrubbing of characters. ! %INCLUDE "WWW.INC" DECLARE WORD I,J,X DECLARE STRING RES DEF WORD DEHEX(STRING C) X = ASCII(C)-48 X = X-7 IF X>9 DEHEX = X END DEF DEF STRING MYCHR(STRING C)=CHR$(DEHEX(LEFT$(C,1))*16+DEHEX(RIGHT$(C,2))) I=0 J=0 RES = "" Loop1: WHILE 1 I = INSTR(1,URIR,"//") EXIT Loop1 IF I=0 URIR = LEFT$(URIR,I-1)+RIGHT$(URIR,I+1) NEXT Loop2: WHILE 1 I = INSTR(J,URIR,"%") EXIT Loop2 IF I=0 RES = RES + SEG$(URIR,J,I-1)+MYCHR(EDIT$(SEG$(URIR,I+1,I+2),32)) J = I+3 NEXT END FUNCTION RES+RIGHT$(URIR,J)