NAME: URLDecode
CREATOR: n/a
PB AUTHOR: Alban Dominic Read
DESCRIPTION: Decodes encoded URLs of the application/x-www-form-urlencoded media type
SOURCE: http://www.powerbasic.com/support/forums/Forum7/HTML/001881.html
Viewing source from urldecode.bas   899 bytes   Last modified Wed, 20 September 2006

FUNCTION URLUnEncode( url AS STRING) AS STRING
LOCAL pbByte AS BYTE PTR
LOCAL pbUrl AS BYTE PTR
LOCAL pbTable AS BYTE PTR
LOCAL b1 AS BYTE
STATIC table AS STRING
LOCAL pszReturnStr AS ASCIIZ PTR
IF table="" THEN
table=table+CHR$(0)+CHR$(1)+CHR$(2)+CHR$(3)+CHR$(4)+CHR$(5)+CHR$(6)+CHR$(7)+CHR$(8)+CHR$(9)
table=table+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)+CHR$(0)
table=table+CHR$(10)+CHR$(11)+CHR$(12)+CHR$(13)+CHR$(14)+CHR$(15)+CHR$(16)
END IF
pbByte = STRPTR( url )
pbUrl = STRPTR( url )
pbTable = STRPTR(table)
DO WHILE @pbByte <> 0
IF @pbByte = ASC("%") AND NOT @pbByte[1] = ASC("%") THEN
INCR pbByte
b1 = @pbTable[@pbByte-48]
SHIFT LEFT b1,4
INCR pbByte
@pbUrl= @pbTable[@pbByte-48]+b1
INCR pbByte
INCR pbUrl
ITERATE DO
END IF
@pbUrl = @pbByte
INCR pbByte
INCR pbUrl
LOOP
@pbUrl = 0
pszReturnStr = STRPTR( url )
FUNCTION = @pszReturnStr
END FUNCTION 

Back to The Archives