
在HTML中有些时候,我们不能直接书写一些特殊符号
比如:多个连续的空格,比如字母两侧的大于和小于号
如果我们需要在网页中书写这些特殊的符号,则需要使用html中的实体(转义字符)
实体的语法:
例如:
空格
>大于号
<小于号
© 版权符号
<script type="text/javascript">var str = "你好!"
var ustr = escape(str).split("%u")
var html = ""
for(var i=0i<ustr.lengthi++){
if(ustr[i] != ""){
html += ""+parseInt(ustr[i],16)+""
}
}
alert(html)
document.write(html)
</script>
以上是使用javascript的效果
html就是转换后的内容
这是html的实体转义,30707是“石”的unicode码,给你列一下吧石这是html的实体转义,在html片段中有效比如
<b>石石</b>就是在网页上显示加粗的“石石”
\u77F3 这是脚本中的转义,在脚本中alert("\u77F3\u77F3")会提示“石石”的提示框。77F3 是 30707 的16进制表示
我给你写个js的方法吧,返回输入字符的unicode码
function getUnicode(str, ishex/* 是否输出为十六进制 */){
var result = []
for(var i=0,l=str.lengthi<li++){
result[result.length] = str.charAt(i).charCodeAt().toString(ishex?16:10)
}
return result
}
=== 无敌分割线 ==========================
既然你想要对照表,我就给你写个页面好了
=========================================
<html>
<head>
<style>
ul{list-style-type:none}
li span{line-height:18pxpadding:0 3pxfont-size:12pxfont-family:Simsun}
</style>
<script type="text/javascript">
function code2Char(n){
return "<li><span>" + String.fromCharCode(n) + "</span><span>&#" + n + "</span><span>\\u" + n.toString(16) + "</span></li>"/* baidu知道提交的时候给自动html编码了一次,我改改输出方式,现在应该对了 */
}
</script>
</head>
<body>
<ul>
<script type="text/javascript">
var i = 20000/* 到这里设置想开始的值, */
while(i <22000){ /* 这里设置结束值,别设太大了,页面会开很慢的 */
document.write(code2Char(i++))
}
</script>
</ul>
</body>
</html>
================================
这样的转换根本就没有意义啊,空让你的html页面体积变大,浪费用户流量和你的服务器流量。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)