偶爾會在數據中看到諸如' 這樣的字符,特徵如下
以開頭,中間是一串數字,以;結尾
以&開頭,中間一串字符,以;結尾
例如最常見的 或等價的
瀏覽器遇到這些轉義符,會轉義回來,但如何透過程式碼辨識? org.apache.commons.lang.StringEscapeUtils.unescapeHtml提供了很好的說明
遇到上面的第一種情況,中間是數字的,直接將數字(unicode)轉為char
遇到第二情況,中間是字符,只能查映射表了,從映射表中找到字符對應的數字再轉換為char 看看代碼就一目了然了
看看HTML40如何定義的
static {
HTML40 = new Entities();
fillWithHtml40Entities(HTML40);
}
static void fillWithHtml40Entities(Entities entities) {
entities.addEntities(BASIC_ARRAY); }
再看看BASIC_ARRAY、ISO8859_1_ARRAY、HTML40_ARRAY 分別是什麼
BASIC_ARRAY
程式碼如下:
static final String[][] ISO8859_1_ARRAY = {{"nbsp", "160"}, // 不間斷空格
{"iexcl", "161"}, // 倒置感嘆號
{"iexcl", "161"}, // 倒置感嘆號
{"cent", "162"}, // 分號
{"pound", "163"}, // 英鎊符號
{"curren", "164"}, // 貨幣sign
{"yen", "165"}, // 日元符號= 人民幣符號
{"brvbar", "166"}, // 斷條= 斷豎條
{"sect", " 167"}, // 節號
{"uml", "168"}, // 分音符= 間距分音符
{"copy", "169"}, // � - 版權所有符號
{"ordf", "170"}, // 陰性序數指示符
{"laquo", "171"}, // 左向雙角引號= 左向guillemet
{"not", " 172"}, // 不是符號
{"shy", "173"}, // 軟連字號= 任意連字號
{"reg", "174"}, // � - 註冊商標符號
{"macr", "175"}, // 宏= 間距宏= 上劃線= APL 上劃線
{"deg", "176"}, // 度數符號
{" plusmn", "177" }, // 加減號= 加減號
{"sup2", "178"}, // 上標二= 上標數字二= 平方
{"sup3", "179"} , // 上標三= 上標數字三= 立方
{"acute", "180"}, // 急性重音符號= 空格急性
{"micro", "181"} , // 微符號
{"para", "182"}, // pilcrow 符號= 段落符號
{"middot", "183"}, // 中間點= 格魯吉亞語逗號= 希臘文中間點
{"cedil", "184"}, // 變音符號= 空格變音符號
{"sup1", "185"}, // 上標一= 上標數字一
{"ordm", "186"}, // 陽性序數指示符
{"raquo", "187"}, // 右向雙角引號= 右向guillemet
{"frac14", "188 "}, // 俗分數四分之一= 分數四分之一
{"frac12", "189"}, // 粗俗分數二分之一= 分數二分之一
{"frac34", "190"}, // 粗俗分數四分之三= 分數四分之三
{" iquest", "191"}, // 倒問號= 翻轉問號
{"Agrave", "192"}, // � - 大寫A,重音符號
{"Aacute", "193" }, // � - 大寫A,銳音符
{"Acirc", " 194"}, // � - 大寫A,揚抑音符
{"Atilde", "195"}, // � -大寫A,波形符號
{"Auml", "196"}, / / � - 大寫A,母音變音
{"Aring", "197"}, // � - 大寫A,環
{ "AElig", "198"}, // � - 大寫AE
{"Ccedil", "199"}, // � - 大寫C, 變音符號
{"Egrave", "200"}, / / � - 大寫E,重音
{"Eacute ", "201"}, // � - 大寫E,重音
{"Ecirc", "202"}, // � - 大寫E,揚抑符
{"Euml", "203"} , // � - 大寫E,母音變音
{"Igrave", "204"}, // � - 大寫I,重音
{" Iacute", "205"}, // � - 大寫I,尖音符
{"Icirc", "206"}, // � - 大寫I,抑揚音符
{"Iuml", "207" }, // � - 大寫I,元音變音
{"ETH", "208"}, // � - 大寫Eth,冰島語
{"Ntilde", "209"}, // � - 大寫N , 波形符號
{ "Ograve", "210"}, // � - 大寫O,重音符
{"Oacute", "211"}, // � - 大寫O,重音
{ "Ocirc", "212 "}, // � - 大寫O,揚抑符
{"Otilde", "213"}, // � - 大寫O,波浪線
{"Ouml", "214" }, // � - 大寫O,母音變音
{"times", "215"}, // 乘號
{"Oslash", "216"}, // � - 大寫O,斜線
{"Ugrave", "217"}, // � - 大寫U,重音
{"Uacute", "218"}, // � - 大寫U,重音
{"Ucirc", "219 "}, // � - 大寫U,揚抑符
{"Uuml", "220"}, // � - 大寫U,母音變音
{"Yacute", "221"}, // � - 大寫Y,尖音
{"THORN", "222"}, // � - 大寫THORN,冰島語
{"szlig", "223"}, // � - 小寫升號,德文
{"agrave", "224"}, // � - 小寫a,重音
{"aacute", "225"}, // � - 小寫a,重音
{" acirc" , "226"}, // � - 小寫a,揚抑符
{"atilde", "227"}, // � - 小寫a,波浪號
{"auml", "228 "}, / / � - 小寫a,母音變音
{"aring", "229"}, // � - 小寫a,環
{"aelig", "230"}, // � - 小寫ae
{"ccedil", "231"}, // � - 小寫c,變音符號
{"egrave", "232"}, // � - 小寫e,重音
{"eacute", "233 "}, // � - 小寫e,尖音符
{"ecirc", "234"}, // � - 小寫e,揚起音符
{"euml" , "235"}, // � - 小寫e,母音變音
{"igrave", "236"}, // � - 小寫i,重音符號
{"iacute", "237" }, // � - 小寫i,重音符號
{"icirc", "238"}, // � - 小寫i,揚抑符
{"iuml", "239"}, // � - 小寫i,變音符{"eth", "240"}, // � - 小寫eth,冰島文
{"ntilde", "241"}, // � - 小寫n,波浪號
{"ograve", " 242" }, // � - 小寫o,重音
{"oacute", "243"}, // � - 小寫o,重音
{"ocirc", "244"}, // � -小寫o,揚抑符
{"otilde", "245"}, // � - 小寫o,波浪號
{"ouml", "246"}, // � - 小寫o,母音變音
{"divide", "247"}, // 除號
{"oslash", "248"}, // � - 小寫o,斜線
{"ugrave" , "249"}, // � - 小寫u,重音符
{"uacute", "250"}, // � - 小寫u,銳音符
{"ucirc", "251"}, // � - 小寫u,揚抑符重音
{"uuml", "252"}, // � - 小寫u,母音變音
{"yacute", "253"}, // � - 小寫y,銳音符
{"thorn ", "254"}, // � - 小寫thorn,冰島語
{"yuml", "255"}, // � - 小寫y,元音變音
};
HTML40_ARRAY
static final String[][] HTML40_ARRAY = {
// ;
{"fnof", "402"}, // 帶鉤子的拉丁小寫f = function= florin, U 0192 ISOtech -->
//
{"Alpha", "913"}, // 希臘大寫字母alpha, U 0391 -->
{"Beta", "914"}, // 希臘大寫字母beta, U 0392 -->
{"Gamma", "915"}, // 希臘大寫字母gamma, U 0393 ISOgrk3 -->
{"Delta", "916"}, // 希臘大寫字母delta,U 0394 ISOgrk3 -->
{"Epsilon", "917"}, // 希臘大寫字母epsilon, U 0395 -->
{"Zeta", "918"}, // 希臘大寫字母zeta, U 0396 -->
{"Eta", "919"}, // 希臘大寫字母eta, U 0397 -->
{"Theta", "920"}, // 希臘大寫字母theta,U 0398 ISOgrk3 -->
{"Iota", "921"}, // 希臘大寫字母iota, U 0399 -->
{"Kappa", "922"}, // 希臘大寫字母kappa, U 039A -->
{"Lambda", "923"}, // 希臘大寫字母lambda,U 039B ISOgrk3 -->
{"Mu", "924"}, // 希臘大寫字母mu, U 039C -->
{"Nu", "925"}, // 希臘大寫字母nu, U 039D -->
{"Xi", "926"}, // 希臘大寫字母xi, U 039E ISOgrk3 -->
{"Omicron", "927"}, //希臘大寫字母omicron, U 039F -->
{"Pi", "928"}, // 希臘大寫字母pi, U 03A0 ISOgrk3 -->
{"Rho", "929"}, / / 希臘大寫字母rho, U 03A1 -->
//
{"Sigma", "931"}, // 希臘大寫字母sigma ,U 03A3 ISOgrk3 -->
{"Tau", "932"}, // 希臘大寫字母tau, U 03A4 -->
{"Upsilon", "933"}, // 希臘大寫字母upsilon,U 03A5 ISOgrk3 -->
{"Phi", "934"}, // 希臘大寫字母phi,U 03A6 ISOgrk3 -->
{"Chi", "935"}, // 希臘大寫字母chi, U 03A7 -->
{"Psi", "936"}, // 希臘大寫字母psi,U 03A8 ISOgrk3 -->
{"Omega", "937"}, //希臘大寫字母omega,U 03A9 ISOgrk3 -->
{"alpha", "945"}, // 希臘小寫字母alpha,U 03B1 ISOgrk3 -->
{"beta", "946"}, // 希臘小寫字母beta, U 03B2 ISOgrk3 -->
{"gamma", "947"}, // 希臘小寫字母gamma,U 03B3 ISOgrk3 -->
{"delta", "948" }, // 希臘小寫字母delta,U 03B4 ISOgrk3 -->
{"epsilon", "949"}, // 希臘小寫字母epsilon,U 03B5 ISOgrk3 -->
{"zeta", " 950"}, // 希臘小寫字母zeta, U 03B6 ISOgrk3 -->
{"eta", "951"}, // 希臘小寫字母eta, U 03B7 ISOgrk3 -->
{"theta" , "952"}, // 希臘小寫字母theta,U 03B8 ISOgrk3 -->
{"iota", "953"}, // 希臘小寫字母iota, U 03B9 ISOgrk3 -->
{" kappa", "954"}, // 希臘小寫字母kappa,U 03BA ISOgrk3 -->
{"lambda", "955"}, // 希臘小寫字母lambda,U 03BB ISOgrk3 -->
{"mu", "956"}, // 希臘小寫字母mu, U 03BC ISOgrk3 -->
{"nu", "957"}, // 希臘小寫字母nu, U 03BD ISOgrk3 -->
{"xi", "958"}, // 希臘小寫字母xi, U 03BE ISOgrk3 -->
{"omicron", "959"}, // 希臘小寫字母omicron, U 03BF NEW -- >
{"pi", "960"}, // 希臘小寫字母pi, U 03C0 ISOgrk3 -->
{"rho", "961"}, // 希臘小寫字母rho, U 03C1 ISOgrk3 -->
{"sigmaf", "962"}, // 希臘小寫字母結尾的sigma,U 03C2 ISOgrk3 -->
{"sigma", "963"}, // 希臘小寫字母sigma ,U 03C3 ISOgrk3 -->
{"tau", "964"}, // 希臘小寫字母tau, U 03C4 ISOgrk3 -->
{"upsilon", "965"}, // 希臘小寫字母upsilon,U 03C5 ISOgrk3 -->
{"phi", "966"}, // 希臘小寫字母phi, U 03C6 ISOgrk3 -->
{"chi", "967"}, //希臘小寫字母chi, U 03C7 ISOgrk3 -->
{"psi", "968"}, // 希臘小寫字母psi, U 03C8 ISOgrk3 -->
{"omega", "969"}, // 希臘小寫字母omega,U 03C9 ISOgrk3 -->
{"thetasym", "977"}, // 希臘小寫字母theta 符號,U 03D1 NEW -->
{"upsih", "978 "}, // 帶鉤符號的希臘upsilon,U 03D2 NEW -->
{"piv", "982"}, // 希臘pi 符號,U 03D6 ISOgrk3 -->
//
{"bull", "8226"}, // 子彈=黑色小圓圈,U 2022 ISOpub -->
//
{"hellip", "8230"}, // 水平省略號= 三點引線,U 2026 ISOpub -->
{"prime", "8242"}, / / prime = 分鐘= 呎, U 2032 ISOtech -->
{"Prime", "8243"}, // 雙質數= 秒= 吋,U 2033 ISOtech -->
{"oline", " 8254"}, // 上劃線= 間距上劃線,U 203E NEW -->
{"frasl", "8260"}, // 分數斜線, U 2044 NEW -->
/ /
{"weierp", "8472"}, // 腳本大寫P = power set= Weierstrass p, U 2118 ISOamso -->
{"image", "8465"}, // 黑體大寫字母I = 虛部,U 2111 ISOamso -->
{"real", "8476"}, // 黑體大寫R = 實部符號,U 211C ISOamso -->
{"trade", "8482"}, / / 商標符號,U 2122 ISOnum -->
{"alefsym", "8501"}, // alef 符號= 第一個超限基數,U 2135 NEW -->
//
//
{ "larr", "8592"}, // 向左箭頭,U 2190 ISOnum -->
{"uarr", "8593"}, // 向上箭頭,U 2191 ISOnum-->
{" rarr", "8594"}, // 向右箭頭,U 2192 ISOnum -->
{"darr", "8595"}, // 向下箭頭,U 2193 ISOnum -->
{" harr", "8596"}, // 左右箭頭,U 2194 ISOamsa -->
{"crarr", "8629"}, // 角向左的向下箭頭=回車, U 21B5 NEW -- >
{"lArr", "8656"}, // 向左雙箭頭,U 21D0 ISOtech -->
//
{"uArr", "8657"}, // 向上雙箭頭,U 21D1 ISOamsa -->
{"rArr", "8658 "}, // 向右雙箭頭,U 21D2 ISOtech -->
//
{"dArr", "8659"}, // 向下雙箭頭,U 21D3 ISOamsa -->
{"hArr", "8660"}, // 左右雙箭頭,U 21D4 ISOamsa -->
//
{"forall", "8704" }, // 對所有,U 2200 ISOtech -->
{"part", "8706"}, // 偏微分,U 2202 ISOtech -->
{"exist", "8707"}, // 存在,U 2203 ISOtech -->
{"empty", "8709"}, // 空集合= null set = 直徑,U 2205 ISOamso -->
{"nabla", "8711" }, // nabla = 向後差分,U 2207 ISOtech -->
{"isin", "8712"}, // U 2208 ISOtech 的元素-->
{"notin", "8713" }, // 不是U 2209 ISOtech 的元素-->
{"ni", "8715"}, // 包含成員U 220B ISOtech -->
//
{"prod", "8719"}, // n 進位產品= 產品符號,U 220F ISOamsb -->
// ;
{"sum", "8721"}, // n 進制求和,U 2211 ISOamsb -->
// ;
{"minus", "8722"}, //減號,U 2212 ISOtech -->
{"lowast", "8727"}, // 星號運算符,U 2217 ISOtech -->
{"radic", "8730"}, //平方根= 根式符號,U 221A ISOtech -->
{"prop", "8733"}, // 與U 221D ISOtech 成比例-->
{"infin", "8734"}, //無窮大,U 221E ISOtech -->
{"ang", "8736"}, // 角度,U 2220 ISOamso -->
{"and", "8743"}, // 邏輯與= 楔形,U 2227 ISOtech -->
{"or", "8744"}, // 邏輯或= vee, U 2228 ISOtech -->
{"cap", "8745"}, // 交集= cap, U 2229 ISOtech -->
{"cup", "8746"}, // union = cup, U 222A ISOtech -->
{"int", "8747"}, // 積分, U 222B ISOtech -->
{"there4", "8756"}, // 因此,U 2234 ISOtech -->
{"sim", "8764"}, // 波形符運算子= 隨= 變化,類似,U 223C ISOtech -->
// ;
{"cong", "8773"}, // 約等於,U 2245 ISOtech -->
{"asymp", "8776"}, // 幾乎等於= 漸近於,U 2248 ISOamsr -->
{"ne", "8800"}, // 不等於,U 2260 ISOtech -->
{"equiv", "8801"}, // 與U 2261 ISOtech 相同-->
{"le", "8804"}, // 小於或等於,U 2264 ISOtech -->
{"ge", "8805"}, // 大於或等於,U 2265 ISOtech -->
{"sub", "8834"}, // U 2282 ISOtech 的子集-->
{"sup", "8835"}, // U 2283 ISOtech 的超集-->
// // 不是U 2284 ISOamsn 的子集-->
{"sube", "8838"}, // 或等於的子集, U 2286 ISOtech -->
{"supe", "8839"}, // 等於或等於U 2287 ISOtech -->
{"oplus", "8853"}, //圓圈加= 直接求和,U 2295 ISOamsb -->
{"otimes", "8855"}, // 圓圈時間= 向量積,U 2297 ISOamsb -->
{"perp", " 8869 "}, // 上黏性= 正交= 垂直,U 22A5 ISOtech -->
{"sdot", "8901"}, // 點運算子, U 22C5 ISOamsb -->
/ /
//
{"lceil", "8968"} , // 左天花板= apl upstile, U 2308 ISOamsc -->{"rceil", "8969"}, // 右天花板, U 2309 ISOamsc -->{"lfloor", " 8970"}, // 左樓層= apl downstile,U 230A ISOamsc -- >
{"rfloor", "8971"}, // 右樓層, U 230B ISOamsc -->
{"lang ", "9001"}, // 左尖括號= bra,U 2329 ISOtech - ->
//
{"rang", "9002 "}, // 右尖括號= ket,U 232A ISOtech -->
//
{"loz", "9674"}, // 菱形,U 25CA ISOpub -->
//
{"黑桃", "9824"}, // 黑桃花色,U 2660 ISOpub -->
//
{"hearts", "9829"}, // 黑色心型套裝= 情人節,U 2665 ISOpub -->
{"diams", "9830"}, // 黑鑽套裝,U 2666 ISOpub -->
//
{"OElig", "338"}, // -- 拉丁大寫連字OE,U 0152 ISOlat2 -->
{"oelig", "339"}, // -- 拉丁小連字oe , U 0153 ISOlat2 -->
//
{"Scaron", "352"}, // -- 帶有caron 的拉丁文大寫字母S,U 0160 ISOlat2 -->
{"scaron", "353"}, // -- 帶caron 的拉丁小寫字母s,U 0161 ISOlat2 -- >
{"Yuml", "376"}, // -- 帶有分音符的拉丁文大寫字母Y,U 0178 ISOlat2 -->;
//
{"tilde", "732"}, // 小波浪號, U 02DC ISOdia -->
//
{"ensp", "8194"}, // en space, U 2002 ISOpub -->
{ "emsp", "8195"}, // em 空格, U 2003 ISOpub -->
{"thinsp", "8201"}, // 稀疏空間,U 2009 ISOpub -->
{"zwnj ", "8204"}, // 零寬度非連接符,U 200C NEW RFC 2070 -->
{"zwj", "8205"}, // 零寬度連接符,U 200D NEW RFC 2070 -- >
{"lrm", "8206"}, // 從左到右標記,U 200E NEW RFC 2070 -->
{"rlm", "8207"}, // 由右到左標記,U 200F NEW RFC 2070 -->
{"ndash", "8211"}, // en dash, U 2013 ISOpub -->
{"mdash", "8212"}, // em dash , U 2014 ISOpub -->
{"lsquo", "8216"}, // 左單引號,U 2018 ISOnum -->
{"rsquo", "8217"}, // 右單引號,U 2019 ISOnum -->
{"sbquo", "8218"}, // 單低9引號,U 201A NEW -->
{"ldquo", "8220"}, // 左雙引號,U 201C ISOnum -->
{"rdquo", "8221"}, // 右雙引號,U 201D ISOnum -->
{"bdquo", "8222"}, // 雙低9引號,U 201E NEW -->
{"dagger", "8224"}, // dagger, U 2020 ISOpub -->
{"Dagger", "8225"}, // 雙匕首, U 2021 ISOpub -->
{"permil", "8240"}, // 每千分之一符號,U 2030 ISOtech -->
{"lsaquo", "8249"}, // 單左角引號,U 2039 ISO 建議-->
//
{"rsaquo", "8250"}, // 單右角引號,U 203A ISO 提議-->
//
{"euro", "8364"}, // -- 歐元符號,U 20AC NEW -->
};
再擴充下
從前面可以看到轉義字元中間的那段數字是unicode,那麼這個轉移字元可以隨便構造了,並不限於上面的定義,例如中的unicode是20013 ,那麼構造一個轉移字符中,經過瀏覽器的渲染就變回中了,雖然不必這麼繞為了顯示一個字符,但如果在一些不方便傳輸特殊字符的場景就可以派上用途了

本篇文章带大家了解一下HTML(超文本标记语言),介绍一下HTML的本质,HTML文档的结构、HTML文档的基本标签和图像标签、列表、表格标签、媒体元素、表单,希望对大家有所帮助!

不算。html是一种用来告知浏览器如何组织页面的标记语言,而CSS是一种用来表现HTML或XML等文件样式的样式设计语言;html和css不具备很强的逻辑性和流程控制功能,缺乏灵活性,且html和css不能按照人类的设计对一件工作进行重复的循环,直至得到让人类满意的答案。

总结了一些web前端面试(笔试)题分享给大家,本篇文章就先给大家分享HTML部分的笔试题(附答案),大家可以自己做做,看看能答对几个!

在html中,document是文档对象的意思,代表浏览器窗口的文档;document对象是window对象的子对象,所以可通过“window.document”属性对其进行访问,每个载入浏览器的HTML文档都会成为Document对象。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver Mac版
視覺化網頁開發工具