的ascii码值是0x20
所有的ascii码都可以用“\”加数字(一般是8进制数字)来表示。而c中定义了一些字母前加"\"来表示常见的那些不能显示的ascii字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ascii字符意思了。
可以删除,没有影响。
HTML的&lt&gt&amp&quot&copy分别是<,>,&,",©的转义字符。
XML只有5个转义符: &lt&gt&amp&quot&apos。
HTML直接显示转义字符一般是由于标签不完整或字符集错误导致的,删除对多余网页本身影响不大。
扩展资料:转义字符串
在HTML中的作用。
转义字符串在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当做文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。
当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。Html中特殊字符不被转义,可以使用预格式化标签。pre 是 Preformatted text(预格式化文本) 的缩写。使用此标签可以把代码中的空格和换行直接显示到页面上。例如HTML代码:
<pre> if (xx >5) { print "比5大!\n" } </pre>
浏览器显示效果:if (xx >5) {print "比5大!\n"}<textarea></textarea>之间包含有类似的这种转义字符的时候总会被解析,倒是可以把所有的"&"通过程序替换成"&",但是有些本来就是"&"的也会被转换,这就错了。如何让<textarea></textarea>之间包含的文本原封不动的显示出来呢?总结如下:解决方法有两种:第1种:
<body><textarea id='t' rows=20 cols=20></textarea><script>document.getElementById('t').innerText='a<&>'</script></body>
第2种:/*将字串转为html格式*/
public String strToHtml(String s) { if (s==null||s.equals("")) return "" s = s.replaceAll("&", "&") s = s.replaceAll("<", "<") s = s.replaceAll(">", ">") s = s.replaceAll(" ", " ") // s = s.replaceAll("/n", "") // s = s.replaceAll("'", "'") return s } /*将html格式转为字串*/ public String strToHtml(String s) { if (s==null||s.equals("")) return "" s = s.replaceAll("&","&") s = s.replaceAll("<","<") s = s.replaceAll(">",">") s = s.replaceAll(" "," ") //s = s.replaceAll("","/n") //s = s.replaceAll("'","'") return s }
最后一点:jQuery的.html()方法默认会转义的,这种情况使用.text()就不会转义了。
评论列表(0条)