Artikel ini terutama memperkenalkan fungsi khusus URLEncode dan URLDecode yang diterapkan di ASP, yang berbeda dari server.urlencode yang disertakan dengan ASP. Teman yang membutuhkan dapat merujuknya.
Saat membuat postingan di Ajax, saya menemukan bahwa data yang diperoleh dari server selalu kacau. Saya melihat beberapa solusi di Internet dan tidak dapat menemukannya. Postingan saya dalam bentuk xml , xml sisi server tidak dapat diuraikan atau terjadi kesalahan. Jadi kami menyandikannya sebelum mempostingnya, dan kemudian mendekodekannya di server. Ini menyelesaikan masalah, tetapi jika datanya besar, mungkin akan mempengaruhi kecepatannya.
Meskipun permintaan di ASP akan secara otomatis mendekode string yang dikodekan URL, Request.BinaryRead(Request.TotalBytes) tidak akan mendekodenya saat memperoleh data kiriman, sehingga harus didekode.
Berikut ini adalah fungsi decoding dari fungsi server.urlencode di ASP yang saya temukan
Copy kode kodenya sebagai berikut:
Fungsi URLDecode(enStr)
redupkan deStr,strSpecial
redup c,i,v
deStr=""
strSpecial="!""#$%&'()*+,.-_/:;< =>?@[/]^`{|}~%"
untuk i=1 hingga len(enStr)
c=Tengah(enStr,i,1)
jika c = "%" maka
v=eval("&h"+Tengah(enStr,i+1,2))
jika inStr(strSpecial,chr(v))>0 maka
deStr=deStr&chr(v)
saya=saya+2
kalau tidak
v=eval("&h"+ Pertengahan(enStr,i+1,2) + Pertengahan(enStr,i+4,2))
deStr=deStr & chr(v)
saya=saya+5
berakhir jika
kalau tidak
jika c = "+" maka
deStr=deStr&" "
kalau tidak
deStr=deStr&c
berakhir jika
berakhir jika
Berikutnya
URLDecode=deStr
Fungsi akhir
Terlampir adalah fungsi pengkodean lainnya. Perbedaan antara ini dan server.urlencode adalah server.urlencode akan mengonversi tag seperti html atau xml, seperti
Pengkodean juga akan dilakukan, tetapi fungsi di bawah ini tidak akan dilakukan. Saya menggunakan yang berikut ini untuk menyandikan dan kemudian mendekode, karena saya menggunakan xml saat menggunakan post.
Copy kode kodenya sebagai berikut:
Pengkodean URL Fungsi pribadi (vstrIn)
strKembali = ""
Untuk i = 1 Ke Len(vstrIn)
ThisChr = Pertengahan(vStrIn,i,1)
Jika Abs(Asc(ThisChr)) < &HFF Lalu
strReturn = strReturn & ThisChr
Kalau tidak
Kode dalam = Asc(Chr Ini)
Jika innerCode < 0 Lalu
Kode dalam = Kode dalam + &H10000
Akhiri Jika
Hight8 = (Kode Dalam Dan &HFF00)/ &HFF
Low8 = Kode dalam Dan &HFF
strReturn = strReturn & "%" & Hex(Tinggi8) & "%" & Hex(Rendah8)
Akhiri Jika
Berikutnya
Pengkodean URL = strReturn
Fungsi Akhir