บทความนี้ส่วนใหญ่แนะนำวิธีแก้ปัญหาของ urlencode เฉพาะใน ASP และไม่มี urldeCode?
มีเซิร์ฟเวอร์ฟังก์ชั่นระบบที่มีประโยชน์มาก URLENCODE เมื่อผ่านพารามิเตอร์ใน ASP ยังได้รับการจัดเตรียมไว้ แต่หลังจากใช้งานแล้วฉันพบว่าโปรแกรมรายงานข้อผิดพลาด จะทำอย่างไรทำด้วยตัวเอง
หลักการของ urlencode นั้นง่ายมากมันคือการแปลงอักขระพิเศษเป็นค่ารหัส hexadecimal ASC ดังนั้นฟังก์ชั่นการถอดรหัสเพียงแค่ต้องแปลง hexadecimal asc กลับไปที่อักขระที่เกี่ยวข้องและมันจะโอเค
- ฟังก์ชั่นการถอดรหัส URL Functionurldecode (estr) '
- สลัว
- dimc, i, v
- ทำลาย =
- fori = 1tolen (enstr)
- c = mid (enstr, i, 1)
- IFC =%จากนั้น
- v = eval
- IFV <128 จากนั้น
- Destr = Destr & Chr (V)
- i = i+2
- อื่น
- ifisvalidhex (mid (enstr, i, 3)) จากนั้น
- ifisvalidhex (mid (enstr, i+3,3)) จากนั้น
- v = eval (& h+mid (enstr, i+1,2)+mid (estr, i+4,2)))
- Destr = Destr & Chr (V)
- i = i+5
- อื่น
- V = eval (& h+mid (enstr, i+1,2)+cstr (hex (asc (mid (estr, i+3,1)))))))))))))))))))))))))
- Destr = Destr & Chr (V)
- i = i+3
- endif
- อื่น
- Dest = Dest & C
- endif
- endif
- อื่น
- IFC =+ดังนั้น
- Destr = Destram &
- อื่น
- Dest = Dest & C
- endif
- endif
- ต่อไป
- urldeCode = dest
- endfunction
- functionisvalidhex (STR)
- isvalidhex = true
- str = ucase (str)
- iflen (str) <> 3thenisvalidhex = false: exitfunction
- ifleft (str, 1) <>%isvalidhex = false: exitfunction
- c = mid (str, 2,1)
- ifnot (((c> = 0) และ (c <= 9)) หรือ ((c> = a) และ (c <= z))) thenisvalidhex = false: exitfunction
- c = mid (str, 3,1)
- ifnot (((c> = 0) และ (c <= 9)) หรือ ((c> = a) และ (c <= z))) thenisvalidhex = false: exitfunction
- endfunction
ไม่มีปัญหากับการใช้ ASP ในรูปแบบ GB312 หลังการทดสอบ