汉字转换はUTF-8
関数 chinese2unicode(Str)
薄暗い私
ディム Str_one
dim Str_unicode
i=1 から len(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)
次
Response.Write Str_unicode
終了関数
UTF-8 から GB2312
関数 UTF2GB(UTFStr)
Dig=1 から len(UTFStr) の場合
Mid(UTFStr,Dig,1)="%" の場合
len(UTFStr) >= Dig+8 の場合
GBStr=GBStr & Conv Chinese(mid(UTFStr,Dig,9))
掘る=掘る+8
それ以外
GBStr=GBStr & Mid(UTFStr,Dig,1)
終了する場合
それ以外
GBStr=GBStr & Mid(UTFStr,Dig,1)
終了する場合
次
UTF2GB=GBStr
終了関数
関数Conv Chinese(x)
A=split(mid(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")
ユニコード=""
j=1 から DigS-1 まで
j=1 の場合
A(i)=right(A(i),len(A(i))-DigS)
Unicode=Unicode & A(i)
それ以外
i=i+1
A(i)=右(A(i),len(A(i))-2)
Unicode=Unicode & A(i)
終了する場合
次
len(c2to16(Unicode))=4 の場合
Conv中国語=Conv中国語 & chrw(int("&H" & c2to16(Unicode)))
それ以外
Conv中国語=Conv中国語 & chr(int("&H" & c2to16(Unicode)))
終了する場合
次
関数 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)
次
終了関数
function c16to2(x)
i=0
i=1 から len(trim(x)) まで
tempstr= c10to2(cint(int("&h" & mid(x,i,1))))
len(tempstr)<4 の間実行します
tempstr="0" & tempstr
ループ
c16to2=c16to2 & tempstr
次
終了関数
function c10to2(x)
mysign=sgn(x)
x=abs(x)
ディグS=1
する
x<2^DigS の場合
終了します
それ以外
ディグS=ディグS+1
終了する場合
ループ
温度番号=x
i=0
for i=DigS から 1 ステップ-1
tempnum>=2^(i-1) の場合
tempnum=tempnum-2^(i-1)
c10to2=c10to2 & "1"
それ以外
c10to2=c10to2 & "0"
終了する場合
次
mysign=-1 の場合、c10to2="-" & c10to2
終了関数