把中文字符转换成Utf8编码
文章作者 100test 发表时间 2007:05:12 12:20:32
来源 100Test.Com百考试题网
计算机等级考试训练软件《百宝箱》
//--------把中文字符转换成Utf8编码------------------------//
function EncodeUtf8(s1)
{
var s = escape(s1).
var sa = s.split("%").
var retV ="".
if(sa[0] != "")
{
retV = sa[0].
}
for(var i = 1. i < sa.length. i )
{
if(sa[i].substring(0,1) == "u")
{
retV = Hex2Utf8(Str2Hex(sa[i].substring(1,5))).
}
else retV = "%" sa[i].
}
return retV.
}
function Str2Hex(s)
{
var c = "".
var n.
var ss = "0123456789ABCDEF".
var digS = "".
for(var i = 0. i < s.length. i )
{
c = s.charAt(i).
n = ss.indexOf(c).
digS = Dec2Dig(eval(n)).
}
//return value.
return digS.
}
function Dec2Dig(n1)
{
var s = "".
var n2 = 0.
for(var i = 0. i < 4. i )
{
n2 = Math.pow(2,3 - i).
if(n1 >= n2)
{
s = 1 .
n1 = n1 - n2.
}
else
s = 0 .
}
return s.
}
function Dig2Dec(s)
{
var retV = 0.
if(s.length == 4)
{
for(var i = 0. i < 4. i )
{
retV = eval(s.charAt(i)) * Math.pow(2, 3 - i).
}
return retV.
}
return -1.
}
function Hex2Utf8(s)
{
var retS = "".
var tempS = "".
var ss = "".
if(s.length == 16)
{
tempS = "1110" s.substring(0, 4).
tempS = "10" s.substring(4, 10).
tempS = "10" s.substring(10,16).
var sss = "0123456789ABCDEF".
for(var i = 0. i < 3. i )
{