تقدم هذه المقالة حلًا لمشكلة URLENCODE فقط في ASP وبدون urldecode؟
يوجد خادم نظام مفيد للغاية عند تمرير المعلمات في ASP تم توفيره أيضًا ، ولكن بعد استخدامه ، وجدت أن البرنامج أبلغ عن خطأ. ماذا تفعل ، افعلها بنفسك.
مبدأ urlencode بسيط للغاية.
- وظيفة DOUSTIONURLDECODE (ENSTR) "فك تشفير URL"
- خافت
- DIMC ، أنا ، الخامس
- تدمير =
- fori = 1tolen (ENSTR)
- ج = منتصف (Enstr ، i ، 1)
- IFC = ٪ ثم
- v = eval (& h+mid (enstr ، i+1،2))
- IFV <128then
- DestR = DestR & CHR (V)
- i = i+2
- آخر
- ifisvalidhex (منتصف (enstr ، i ، 3)) ثم
- ifisvalidhex (Mid (Enstr ، i+3،3)) ثم
- v = eval (& h+mid (enstr ، i+1،2)+mid (enstr ، i+4،2))
- DestR = DestR & CHR (V)
- i = i+5
- آخر
- v = eval (& h+mid (enstr ، i+1،2)+cstr (hex (asc (mid (enstr ، i+3،1))))))))))))))))))
- DestR = DestR & CHR (V)
- i = i+3
- Endif
- آخر
- DestR = DestR & c
- Endif
- Endif
- آخر
- IFC =+ثم
- تدمير = تدمير &
- آخر
- DestR = DestR & c
- Endif
- Endif
- التالي
- urldecode = DestR
- الوظيفية
- FunctionIsvalidhex (Str)
- isValidHex = صحيح
- str = ucase (str)
- iflen (str) <> 3thenisvalidhex = false: exitfunction
- ifleft (str ، 1) <> ٪ thenisvalidhex = false: exitfunction
- ج = منتصف (str ، 2،1)
- IFNOT (((c> = 0) و (c <= 9)) أو ((c> = a) و (c <= z)) thenisvalidhex = false: exitfunction
- ج = منتصف (str ، 3،1)
- IFNOT (((c> = 0) و (c <= 9)) أو ((c> = a) و (c <= z)) thenisvalidhex = false: exitfunction
- الوظيفية
لا توجد مشكلة في استخدام ASP بتنسيق GB312 بعد الاختبار.