浏览器,支持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>