Dokumen referensi: http://www.linuxforum.net/books/utf-8-unicode.html
Kodenya adalah sebagai berikut:
===========================================
Salinan kode adalah sebagai berikut:
<scriptLanguage = "vbscript">
'http://www.linuxforum.net/books/utf-8-unicode.html
PublicFunctionutf8encodechar (Z)
DIMC: C = ASCW (Z) 'Dapatkan pengkodean unicode
ifc> 0andc <256then'asc Encoding Langsung Mengembalikan
Utf8encodechar = z
Fungsi keluar
Endif
Ifc <0thenc = c+& h10000 & 'vbscript's integer overflow, plus
DIMK: k = clng (c) 'Cadangkan kode, dan gunakan setelah penilaian
Dimbal ()
DIMI: I = 0
Whilec> & h0 & 'simpan pengkodean ke dalam grup 6-bit dan simpan grup ke dalam array byte b
Redimpreserveb (i)
b (i) = cbyte (kand & h3f &)
C = C/& H40 &
i = i+1
Pergi ke
Ifubound (b)> 0then'if Ada lebih dari satu kelompok 6-bit yang dipisahkan, kecuali untuk kelompok tertinggi, semua biner 10000000 ditambahkan.
Fori = 0toubound (b) -1
b (i) = b (i)+& h80
Berikutnya
Endif
i = ubound (b) 'awalan grup tertinggi sesuai dengan rentang pengkodean karakter unicode
IFK <= clng (& h7f &) lalu
b (i) = b (i) +0
Elseifk <= clng (& h7ff &) kemudian
b (i) = b (i)+& hc0
Elseifk <= clng (& hffff &) kemudian
b (i) = b (i)+& he0
Elseifk <= clng (& h1fffff &) kemudian
b (i) = b (i)+& hf0
Elseifk <= clng (& h3fffff &) kemudian
b (i) = b (i)+& hf8
Kalau tidak
b (i) = b (i)+& hfc
Endif
Utf8encodechar = ""
Fori = ubound (b) to0step-1 'mengubah paket menjadi pengkodean URL
Utf8encodechar = utf8encodechar & "%" & kanan ("00" & hex (b (i)), 2)
Berikutnya
ERASEB
Fungsi endfungsi
PublicFunctionF8encodestring
Dimi, L, C: L = Len (S)
Fori = 1Tol
Utf8encodestring = utf8encodestring & utf8encodechar (mid (s, i, 1))
Berikutnya
Fungsi endfungsi
Msgboxutf8encodestring ("听听听听听听")
</script>
Metode Uji:
http://www.google.com/search?hl=zh-cn&newwindow=1&rls=gglg%2cgglg%3a2006-15%2cgglg%3azh-cn&q=your code
Salinan kode adalah sebagai berikut:
functionReverTutf8 (SzInput)
{
varx, wch, wch1, wch2, uch = "", szret = "";
untuk (x = 0; x <szinput.length; x ++)
{
if (szinput.charat (x) == "%")
{
wch = parseInt (szinput.charat (++ x)+szinput.charat (++ x), 16);
if (! wch) {break;}
if (! (WCH & 0x80))
{
wch = wch;
}
elseif (! (wch & 0x20))
{
x ++;
wch1 = parseInt (szinput.charat (++ x)+szinput.charat (++ x), 16);