天天看點

對轉義字元的思考ASCII碼轉義字元一些現象

ASCII碼

  • 計算機存儲文字時用的是二進制,ASCII碼就是一張對照表,什麼字元對應什麼碼,将二進制碼存儲下來
  • 0-127位表示基礎的ASCII碼
  • 0-31,和127表示非列印控制字元(如換行、回車、響鈴、文頭、文尾)
  • 32-126表示空格,數字,大小寫,标點,運算符号
  • 127-256 是ASCII的擴充,表示英語以外的西文字元,不同國家的表示不同
  • 亞洲文字(這裡以漢字為例),使用GB2312,GBK,Unicode表示,一個文字2個位元組
  • 對轉義字元的思考ASCII碼轉義字元一些現象

轉義字元

第一類 字元實體

所有ASCII碼可以用\加數字表示,而C中定義了一些字母前加""來表示常見的那些不能顯示的ASCII字元,如\0,\t,\n等,就稱為轉義字元

原因一:使用轉義字元來表示字元集中定義的字元,比如ASCll裡面的控制字元及回車換行等字元,這些字元都沒有現成的文字代号。是以隻能用轉義字元來表示。

  • 用在js或用js操作innerHTML
    對轉義字元的思考ASCII碼轉義字元一些現象
    對轉義字元的思考ASCII碼轉義字元一些現象

第二類

原因二:某一些特定的字元在編輯語言中被定義為特殊用途的字元。這些字元由于被定義為特殊用途,它們失去了原有的意義。比如說Html中,<被HTML定義為标簽的開始,是以當我們轉入<時,HTML就會把它當作為開始,而不是當作一個<來看待。再如PHP 的雙引号("),被PHP定義為字元串的外圍标簽,是以如果你在一對雙引号裡面,還想要使用雙引号,隻能使用轉義字元了。不然PHP就會報錯了。
  • 用在HTML
  • 空格 no-break space
    對轉義字元的思考ASCII碼轉義字元一些現象

一些現象

  • 在html标簽中直接使用

    < >

    之類,雖然浏覽器能顯示,但這是不規範的寫法
    對轉義字元的思考ASCII碼轉義字元一些現象
雖然能顯示出來,但是這種寫法是不被允許的,因為<是HTML标簽的組成部分,很容易造成标簽混亂。還有innerText不會轉碼HTML實體。
  • 雙引号、單引号未成對出現
  • 換行,反斜杠,雙引号都轉了,單引号未轉
    對轉義字元的思考ASCII碼轉義字元一些現象
  • 成對出現,雙引号裡有雙引号,轉了
    對轉義字元的思考ASCII碼轉義字元一些現象
  • 成對出現,雙引号裡是單引号,單引号未轉
    對轉義字元的思考ASCII碼轉義字元一些現象
  • 成對出現,單引号裡是單引号,單引号未轉
    對轉義字元的思考ASCII碼轉義字元一些現象
  • 以上,單引号始終未轉,因為單引号不是作為引号使用是以沒有被轉義(這裡列印的是value的值,系統預設為普通字元串),js語句中使用引号會被轉義
  • js語句中,作為引号使用
    對轉義字元的思考ASCII碼轉義字元一些現象
    對轉義字元的思考ASCII碼轉義字元一些現象

繼續閱讀