Code: Select all
Global base
base = {}
;; base:DecodeURL(data$)
; Decodes a URL (RFC 3986) to UTF-8
Function base:DecodeURL(data$)
data$ = ReplaceStr(data$,"%25","%")
data$ = ReplaceStr(data$,"%24","\\$")
data$ = ReplaceStr(data$,"%26","&")
data$ = ReplaceStr(data$,"%2B","+")
data$ = ReplaceStr(data$,"%2C",",")
data$ = ReplaceStr(data$,"%2D","-")
data$ = ReplaceStr(data$,"%2E",".")
data$ = ReplaceStr(data$,"%2F","/")
data$ = ReplaceStr(data$,"%3A",":")
data$ = ReplaceStr(data$,"%3B",";")
data$ = ReplaceStr(data$,"%3D","=")
data$ = ReplaceStr(data$,"%3F","?")
data$ = ReplaceStr(data$,"%40","@")
data$ = ReplaceStr(data$,"%20"," ")
data$ = ReplaceStr(data$,"%22","\"")
data$ = ReplaceStr(data$,"%27","'")
data$ = ReplaceStr(data$,"%28","(")
data$ = ReplaceStr(data$,"%29",")")
data$ = ReplaceStr(data$,"%3C","<")
data$ = ReplaceStr(data$,"%3E",">")
data$ = ReplaceStr(data$,"%23","#")
data$ = ReplaceStr(data$,"%7B","{")
data$ = ReplaceStr(data$,"%7D","}")
data$ = ReplaceStr(data$,"%7C","|")
data$ = ReplaceStr(data$,"%5C","\\")
data$ = ReplaceStr(data$,"%21","!")
data$ = ReplaceStr(data$,"%5E","^")
data$ = ReplaceStr(data$,"%7E","~")
data$ = ReplaceStr(data$,"%5B","[")
data$ = ReplaceStr(data$,"%5D","]")
data$ = ReplaceStr(data$,"%60","`")
data$ = ReplaceStr(data$,"\"","*\"")
data$ = ReplaceStr(data$,"%5F","_")
data$ = ReplaceStr(data$,"%0A","\n")
Return(data$)
EndFunction