<script language="JavaScript">
<!--
var s = '汉';
alert(GetHexUTF8(s));
alert(encodeURI(s)); // encodeURI 类似 UrlEncode。如果字符是汉字,那么替换掉“%”就要它的十六进制的 UTF-8 编码
// 返回指定字符的 UTF-8 编码十六进制
function GetHexUTF8(s)
{
var r = '';
var uDec = s.charCodeAt(0); // Unicode 编码十进制
var uHex = DecToHex(uDec); // Unicode 编码十六进制
// 按 UTF-8 编码格式转换
if (uDec < 128) // 1字节,0xxxxxxx
{
r = uHex;
}
else if (uDec < 2048) // 2字节,110xxxxx 10xxxxxx
{
r += DecToHex(192 | uDec >> 6);
r += DecToHex(128 | uDec & 63);
}
else if (uDec < 65536) // 3字节,1110xxxx 10xxxxxx 10xxxxxx
{
r += DecToHex(224 | uDec >> 12);
r += DecToHex(128 | uDec >> 6 & 63);
r += DecToHex(128 | uDec & 63);
}
else if (uDec < 2097152) // 4字节,11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
{
r += DecToHex(240 | uDec >> 18);
r += DecToHex(128 | uDec >> 12 & 63);
r += DecToHex(128 | uDec >> 6 & 63);
r += DecToHex(128 | uDec & 63);
}
return r;
}
// 二进制转十进制
function BinToDec(s)
{
return parseInt(s, 2);
}
// 二进制转十六进制
function BinToHex(s)
{
return DecToHex(BinToDec(s));
}
// 十进制转二进制
function DecToBin(s)
{
return s.toString(2);
}
// 十进制转十六进制
function DecToHex(s)
{
return s.toString(16);
}
// 十六进制转二进制
function HexToBin(s)
{
return DecToBin(HexToDec(s));
}
// 十六进制转十进制
function HexToDec(s)
{
return parseInt(s, 16);
}
//-->
</script>



