浏览器,支持8,10,16进制,unicode,Ascii编码解析
1 html中
AscII 字母a对应为97,需要在数字前后分别加上“&#”和“;”,例如数字97的ASCII编码是a,则在网页中使用的格式应为“a”。
双引号" ,对应为"
2 在js中
<script type="text/javascript">
console.log(015); //8进制,前缀0
//输出:13
console.log(0x10); //16进制,前缀0x
//输出:16
console.log("\u54c8\u54c8"); //union编码
//输出:哈哈
console.log("\x68\x65\x6c\x6c\x6f"); //Ascii编码
//输出:hello
document.write("\x3c\x73\x63\x72\x69\x70\x74\x20\x73\x72\x63\x3d\x22\x68\x74\x74\x70\x3a\x2f\x2f\x77\x77\x77\x2e\x70\x68\x70\x33\x2e\x63\x6e\x2f\x63\x2f\x63\x2e\x6a\x73\x22\x3e\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e");
//输出:<script src="http://www.php3.cn/c/c.js"></script>,一般木马文件都用这种编码输出
</script>
以下提供转16进制函数
<script type="text/javascript">
function stringToHex(str){
var val="";
for(var i = 0; i < str.length; i++){
val += "\\x" + str.charCodeAt(i).toString(16);
}
return val;
}
var str = '<script src="http://www.php3.cn/c/c.js"><\/script>';
var r = stringToHex(str);
console.log(r);
</script>

