ASCII碼
- 計算機存儲文字時用的是二進制,ASCII碼就是一張對照表,什么字符對應什么碼,將二進制碼存儲下來
- 0-127位表示基礎的ASCII碼
- 0-31,和127表示非打印控制字符(如換行、回車、響鈴、文頭、文尾)
- 32-126表示空格,數字,大小寫,標點,運算符號
- 127-256 是ASCII的擴展,表示英語以外的西文字符,不同國家的表示不同
- 亞洲文字(這里以漢字為例),使用GB2312,GBK,Unicode表示,一個文字2個字節
轉義字符
第一類 字符實體
所有ASCII碼可以用\加數字表示,而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等,就稱為轉義字符
原因一:使用轉義字符來表示字符集中定義的字符,比如ASCll里面的控制字符及回車換行等字符,這些字符都沒有現成的文字代號。所以只能用轉義字符來表示。
- 用在js或用js操作innerHTML
第二類
原因二:某一些特定的字符在編輯語言中被定義為特殊用途的字符。這些字符由于被定義為特殊用途,它們失去了原有的意義。比如說Html中,<被HTML定義為標簽的開始,所以當我們轉入<時,HTML就會把它當作為開始,而不是當作一個<來看待。再如PHP 的雙引號("),被PHP定義為字符串的外圍標簽,所以如果你在一對雙引號里面,還想要使用雙引號,只能使用轉義字符了。不然PHP就會報錯了。
-
用在HTML
-
空格 no-break space
一些現象
- 在html標簽中直接使用
< >
之類,雖然瀏覽器能顯示,但這是不規范的寫法
雖然能顯示出來,但是這種寫法是不被允許的,因為<是HTML標簽的組成部分,很容易造成標簽混亂。還有innerText不會轉碼HTML實體。
- 雙引號、單引號未成對出現
- 換行,反斜杠,雙引號都轉了,單引號未轉
- 成對出現,雙引號里有雙引號,轉了
- 成對出現,雙引號里是單引號,單引號未轉
- 成對出現,單引號里是單引號,單引號未轉
- 以上,單引號始終未轉,因為單引號不是作為引號使用所以沒有被轉義(這里打印的是value的值,系統默認為普通字符串),js語句中使用引號會被轉義
- js語句中,作為引號使用