บทความนี้ให้รหัสที่มีประโยชน์มากซึ่งสามารถถ่ายโอนใน ASP ได้ เหล่านี้รวมถึง UTF8 GB2312 รหัสทศนิยมไบนารีเลขฐานสิบหก
'UTF เป็น GB --- แปลงข้อความการเข้ารหัส UTF8 เป็นข้อความการเข้ารหัส GB
ฟังก์ชั่น UTF2GB (UTFSTR) สำหรับ DIG = 1 ถึง LEN (UTFSTR)
'ถ้าข้อความการเข้ารหัส UTF8 เริ่มต้นด้วย%มันจะถูกแปลง
ถ้า mid (utfstr, dig, 1) =% แล้ว
'ข้อความการเข้ารหัส UTF8 มากกว่า 8 จากนั้นแปลงเป็นอักขระภาษาจีน
ถ้า len (utfstr)> = dig+8 แล้ว
GBSTR = GBSTR & Convchinese (Mid (UTFSTR, DIG, 9))
ขุด = ขุด+8
อื่น
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
สิ้นสุดถ้า
อื่น
GBSTR = GBSTR & MID (UTFSTR, DIG, 1)
สิ้นสุดถ้า
ต่อไป
UTF2GB = GBSTR
ฟังก์ชันสิ้นสุด
'ข้อความการเข้ารหัส UTF8 จะถูกแปลงเป็นอักขระภาษาจีน
ฟังก์ชั่น Convchinese (X)
A = แยก (กลาง (x, 2),%)
i = 0
J = 0
สำหรับ i = 0 ถึง Ubound (a)
a (i) = c16to2 (a (i))
ต่อไป
สำหรับ i = 0 ถึง ubound (a) -1
digs = instr (a (i), 0)
unicode =
สำหรับ J = 1 ถึง DIGS-1
ถ้า j = 1 แล้ว
a (i) = ขวา (a (i), len (a (i)) -igs)
unicode = Unicode & a (i)
อื่น
i = i+1
a (i) = ขวา (a (i), len (a (i))-2)
unicode = Unicode & a (i)
สิ้นสุดถ้า
ต่อไป
ถ้า len (c2to16 (unicode)) = 4 นั่น
Convchinese = Convchinese & CHRW (Int (& H & C2TO16 (Unicode))
อื่น
Convchinese = Convchinese & Chr (Int (& H & C2TO16 (Unicode))
สิ้นสุดถ้า
ต่อไป
ฟังก์ชันสิ้นสุด
'รหัสไบนารีแปลงเป็นรหัสเลขฐานสิบหก
unction c2to16 (x)
i = 1
สำหรับ i = 1 ถึง len (x) ขั้นตอนที่ 4
C2TO16 = C2TO16 & Hex (C2TO10 (Mid (X, I, 4))))
ต่อไป
ฟังก์ชันสิ้นสุด
'รหัสไบนารีแปลงเป็นรหัสทศนิยม
ฟังก์ชั่น c2to10 (x)
c2to10 = 0
ถ้า x = 0 จากนั้นออกจากฟังก์ชัน
i = 0
สำหรับ i = 0 ถึง len (x) -1
ถ้า mid (x, len (x) -i, 1) = 1 จากนั้น c2to10 = c2to10+2^(i)
ต่อไป
ฟังก์ชันสิ้นสุด
'รหัสพระคัมภีร์ถูกแปลงเป็นรหัสไบนารี
ฟังก์ชั่น C16to2 (x)
i = 0
สำหรับ i = 1 ถึง len (trim (x))
tempstr = c10to2 (cint (int (& h & mid (x, i, 1))))
ทำในขณะที่เลน (tempstr) <4
tempstr = 0 & tempstr
วง
c16to2 = c16to2 & tempstr
ต่อไป
ฟังก์ชันสิ้นสุด
'รหัสด้านบนแปลงเป็นรหัสไบนารี
ฟังก์ชั่น c10to2 (x)
mysign = sgn (x)
x = abs (x)
ขุด = 1
ทำ
ถ้า x <2^ขุดจากนั้น
ออก
อื่น
ขุด = ขุด+1
สิ้นสุดถ้า
วง
tempnum = x
i = 0
สำหรับ i = digs ถึง 1 step-1
ถ้า tempnum> = 2^(i-1) แล้ว
tempnum = tempnum-2^(i-1)
c10to2 = c10to2 & 1
อื่น
c10to2 = c10to2 & 0
สิ้นสุดถ้า
ต่อไป
ถ้า mysign = -1 แล้ว c10to2 = -& c10to2
ฟังก์ชันสิ้นสุด
'GB เป็น UTF8-convert ข้อความการเข้ารหัส GB เป็นข้อความการเข้ารหัส UTF8
ฟังก์ชั่น toutf8 (szinput)
Dim Wch, Uch, Szret
สลัว x
Dim Nasc, NASC2, NASC3
'หากพารามิเตอร์อินพุตว่างเปล่าฟังก์ชันการออก
ถ้า szinput = จากนั้น
toutf8 = szinput
ฟังก์ชั่นออก
สิ้นสุดถ้า
'เริ่มการแปลง
สำหรับ x = 1 ถึง len (szinput)
'ใช้ฟังก์ชั่นกลางเพื่อแยกข้อความการเข้ารหัส GB
WCH = mid (szinput, x, 1)
'ใช้ฟังก์ชัน ASCW เพื่อส่งคืนรหัสอักขระ Unicode ของแต่ละข้อความที่เข้ารหัส GB
'หมายเหตุ: ฟังก์ชั่น ASC ส่งคืนรหัสอักขระ ANSI ให้ความสนใจกับความแตกต่าง
NASC = ASCW (WCH)
ถ้า NASC <0 จากนั้น NASC = NASC + 65536
ถ้า (NASC และ & HFF80) = 0 แล้ว
szret = szret & wch
อื่น
ถ้า (NASC และ & HF000) = 0 แล้ว
uch = % & hex ((nasc / 2 ^ 6)) หรือ & hc0 & hex (NASC และ & h3f หรือ & h80)
szret = szret & uch
อื่น
'GB การเข้ารหัสข้อความอักขระ Unicode ใช้ระหว่าง 0800 -FFFF
uch = % & hex ((nasc / 2 ^ 12) หรือ & he0) & % & _
Hex ((NASC / 2 ^ 6) และ & H3F หรือ & H80) & % & _
Hex (NASC และ & H3F หรือ & H80)
szret = szret & uch
สิ้นสุดถ้า
สิ้นสุดถ้า
ต่อไป
toutf8 = szret
ฟังก์ชันสิ้นสุด
'GB เป็น Unicode --- แปลงข้อความการเข้ารหัส GB เป็นข้อความการเข้ารหัส Unicode
ฟังก์ชั่น Chinese2Unicode (STR)
หรอกฉัน
สลัว str_one
สลัว str_unicode
ถ้า (isnull (str)) แล้ว
ฟังก์ชั่นออก
สิ้นสุดถ้า
สำหรับ i = 1 ถึง len (str)
str_one = mid (str, i, 1)
str_unicode = str_unicode & ch (38)
str_unicode = str_unicode & ch (35)
str_unicode = str_unicode & ch (120)
str_unicode = str_unicode & hex (ascw (str_one))
str_unicode = str_unicode & ch (59)
ต่อไป
chinese2unicode = str_unicode
ฟังก์ชันสิ้นสุด
'การถอดรหัส URL
function urldeCode (enstr)
DIM DEST
สลัว c, i, v
ทำลาย =
สำหรับ i = 1 ถึง len (enstr)
c = mid (enstr, i, 1)
ถ้า c =% จากนั้น
v = eval
ถ้า v <128 แล้ว
Destr = Destr & Chr (V)
i = i+2
อื่น
ถ้า isvalidhex (mid (enstr, i, 3)) แล้ว
ถ้า isvalidhex (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
สิ้นสุดถ้า
อื่น
Dest = Dest & C
สิ้นสุดถ้า
สิ้นสุดถ้า
อื่น
ถ้า c =+ แล้ว
Destr = Destram &
อื่น
Dest = Dest & C
สิ้นสุดถ้า
สิ้นสุดถ้า
ต่อไป
urldeCode = dest
ฟังก์ชันสิ้นสุด
'ตรวจสอบว่ามันเป็นรหัสฐานสิบหกที่มีประสิทธิภาพ
ฟังก์ชั่น isvalidhex (str)
สลัว C
isvalidhex = true
str = ucase (str)
ถ้า len (str) <> 3 ที่ isvalidhex = false: exit function
ถ้าเหลือ (str, 1) <>% แล้ว isvalidhex = false: ออกจากฟังก์ชัน
c = mid (str, 2,1)
ถ้าไม่ใช่ (((((((((((((((((((((((((((((((((((((((((((((((c <(c> = 0) = 9)) หรือ ((c> = a) และ (c <= z))) จากนั้น isvalidhex = false: ฟังก์ชันออก
c = mid (str, 3,1)
ถ้าไม่ใช่ (((((((((((((((((((((((((((((((((((((((((((((((c <(c> = 0) = 9)) หรือ ((c> = a) และ (c <= z))) จากนั้น isvalidhex = false: ฟังก์ชันออก
ฟังก์ชันสิ้นสุด