<!DOCTYPE html>
<html>
<head>
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta charset="utf-8" />
<title></title>
<meta name="viewport" initial-scale="1.0" />
<!--[if lt IE 9]>
<link type="text/css" href="theme/IE678css.css" rel="stylesheet" />
<![endif]-->
<!--[if lt IE 9]>
<script type="text/javascript" src="js/lib/html5shiv.js"></script>
<![endif]-->
</head>
<body>
<input id="test_value" value="jhy" />
<input id="test" type="button" value="转换" οnclick="encodeMessage()"/>
<script type="text/javascript" data-main="js/main" src="js/lib/require/require-jquery.js"></script>
<script type="text/javascript">
/**
* unicode编码
* @method encodeMessage
* @param textString {String}
* @return {String}
*/
function encodeMessage(textString) {
//alert("h");
textString = document.getElementById("test_value").value;
alert(textString);
var haut = 0;
var result = '';
if (!textString) return result;
for ( var i = 0; i < textString.length; i++) {
var b = textString.charCodeAt(i);
if (haut != 0) {
if (0xDC00 <= b && b <= 0xDFFF) {
result += dec2hex(0x10000 + ((haut - 0xD800) << 10) + (b - 0xDC00));
haut = 0;
continue;
} else {
haut = 0;
}
}
if (0xD800 <= b && b <= 0xDBFF) {
haut = b;
} else {
cp = dec2hex(b);
while (cp.length < 4) {
cp = '0' + cp;
}
result += cp;
}
}
alert(result);
return result;
}
function dec2hex(textString) {
return (textString + 0).toString(16).toUpperCase();
}
</script>
</body>
</html>
纯数字,纯字母以及数字字母混合的时候,进行字符串的Unicode转换的时候,会自动进行一个字节的00补齐。
弄清除ASC码就是Unicode的其中一种。
结果显示: