تمنحك هذه المقالة بعض التعليمات البرمجية المفيدة للغاية ، والتي يمكن نقلها في ASP. وتشمل هذه UTF8 GB2312 رمز عشري ثنائي السداسي عشري.
'UTF to GB --- تحويل النص الترميز UTF8 إلى نص الترميز GB
دالة UTF2GB (UTFSTR) لـ DIG = 1 إلى LEN (UTFSTR)
إذا بدأ نص الترميز UTF8 بنسبة ٪ ، فسيتم تحويله
إذا كان منتصف (UTFSTR ، حفر ، 1) = ٪ ثم
"نص الترميز UTF8 أكبر من 8 ، ثم يتم تحويله إلى أحرف صينية
إذا كان LEN (UTFSTR)> = DIG+8 ثم
GBSTR = GBSTR و Invchinese (Mid (UTFSTR ، DIG ، 9))
حفر = حفر+8
آخر
GBSTR = GBSTR & MID (UTFSTR ، DIG ، 1)
إنهاء إذا
آخر
GBSTR = GBSTR & MID (UTFSTR ، DIG ، 1)
إنهاء إذا
التالي
UTF2GB = GBSTR
وظيفة نهاية
سيتم تحويل نص الترميز UTF8 إلى أحرف صينية
وظيفة مقنعة (x)
أ = انقسام (منتصف (x ، 2) ، ٪)
أنا = 0
J = 0
لأني = 0 إلى Ubound (أ)
A (i) = C16TO2 (A (I))
التالي
لأني = 0 إلى Ubound (أ) -1
الحفريات = instr (a (i) ، 0)
Unicode =
لـ J = 1 إلى Digs-1
إذا J = 1 ثم
a (i) = right (a (i) ، len (a (i)) -digs)
Unicode = Unicode & A (i)
آخر
i = i+1
a (i) = right (a (i) ، len (a (i))-2)
Unicode = Unicode & A (i)
إنهاء إذا
التالي
إذا كان LEN (C2TO16 (Unicode)) = 4
Convchinese = Convchinese & CHRW (Int (& H & C2TO16 (Unicode))
آخر
Convchinese = Invchinese & CHR (int (& H & C2TO16 (Unicode))
إنهاء إذا
التالي
وظيفة نهاية
"رمز ثنائي يتحول إلى رمز سداسي عشري
unction C2TO16 (X)
أنا = 1
لأني = 1 إلى Len (x) الخطوة 4
C2TO16 = C2TO16 & HEX (C2TO10 (MID (X ، I ، 4))))
التالي
وظيفة نهاية
يحول الرمز الثنائي إلى رمز عشري
الدالة C2TO10 (x)
C2TO10 = 0
إذا كان x = 0 ثم الخروج وظيفة
أنا = 0
لأني = 0 إلى len (x) -1
إذا كان منتصف (x ، len (x) -i ، 1) = 1 ثم c2to10 = c2to10+2^(i)
التالي
وظيفة نهاية
يتم تحويل رمز الكتاب المقدس إلى رمز ثنائي
الدالة C16TO2 (X)
أنا = 0
ل I = 1 إلى Len (Trim (x))
tempster = 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
أنا = 0
لأني = الحفريات إلى 1 الخطوة 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 and & h3f أو & h80)
szret = szret & uch
آخر
يتم استخدام رمز حرف Unicode Text Text Text بين 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
وظيفة صينية 2unicode (STR)
خافت أنا
قاتمة str_one
Dim Str_unicode
إذا (isnull (str)) ثم
وظيفة الخروج
إنهاء إذا
لأني = 1 إلى لين (str)
str_one = mid (str ، i ، 1)
str_unicode = str_unicode & chr (38)
str_unicode = str_unicode & chr (35)
str_unicode = str_unicode & chr (120)
str_unicode = str_unicode & hex (ASCW (str_one))
str_unicode = str_unicode & chr (59)
التالي
choacher2Unicode = str_unicode
وظيفة نهاية
فك تشفير URL
وظيفة urldecode (ENSTR)
تدمير خافت
Dim C ، أنا ، الخامس
تدمير =
لأني = 1 إلى لين (ENSTR)
ج = منتصف (Enstr ، i ، 1)
إذا ج = ٪ ثم
v = eval (& h+mid (enstr ، i+1،2))
إذا كان 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 (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
إنهاء إذا
آخر
DestR = DestR & C
إنهاء إذا
إنهاء إذا
آخر
إذا كان c =+ ثم
تدمير = تدمير &
آخر
DestR = DestR & C
إنهاء إذا
إنهاء إذا
التالي
urldecode = DestR
وظيفة نهاية
حدد ما إذا كان رمز سداسي عشري فعال
وظيفة isValidhex (STR)
قاتمة ج
isValidHex = صحيح
str = ucase (str)
إذا كان len (str) <> 3 هذا ISValidhex = false: وظيفة الخروج
إذا ترك (str ، 1) <> ٪ ثم isValidHex = false: وظيفة الخروج
ج = منتصف (str ، 2،1)
إذا لم يكن ((((((((((((((((((((((((((((((((((((C> = 0) و ((C < = 9)) أو ((c> = a) و (c <= z))) ثم isValidHex = false: وظيفة الخروج
ج = منتصف (str ، 3،1)
إذا لم يكن ((((((((((((((((((((((((((((((((((((C> = 0) و ((C < = 9)) أو ((c> = a) و (c <= z))) ثم isValidHex = false: وظيفة الخروج
وظيفة نهاية