C中定義了一些字母前加"\"的意思?比如\r\n

轉義字符

C中定義了一些字母前加"\"來表示常見的那些不能顯示的ASCII字符,如\0,\t,\n等。實際上,所有的ASCII碼都可以用“\”加數字(一般是8進制數字)來表示

這種表示方式稱之爲"轉義字符",因爲因爲後面的字符,都不是它本來的ASCII字符意思了。


作用

轉義字符串(Escape Sequence)也稱字符實體(Character Entity)。在HTML中,定義轉義字符串的原因有兩個:第一個原因是像“<”和“>”這類符號已經用來表示HTML標籤,因此就不能直接當做文本中的符號來使用。爲了在HTML文檔中使用這些符號,就需要定義它的轉義字符串。當解釋程序遇到這類字符串時就把它解釋爲真實的字符。在輸入轉義字符串時,要嚴格遵守字母大小寫的規則。第二個原因是,有些字符在ASCII字符集中沒有定義,因此需要使用轉義字符串來表示。
其實所有編程語言,擁有轉義字符的原因基本上是兩點:一、使用轉義字符來表示字符集中定義的字符,比如ASCll裏面的控制字符及回車換行等字符,這些字符都沒有現成的文字代號。所以只能用轉義字符來表示 。二、某一些特定的字符在編輯語言中被定義爲特殊用途的字符。這些字符由於被定義爲特殊用途,它們失去了原有的意義。比如說Html中,<被HTML定義爲標籤的開始,所以當我們轉入<時,HTML就會把它當作爲開始,而不是當作一個<來看待。再如PHP 的雙引號("),被PHP定義爲字符串的外圍標籤,所以如果你在一對雙引號裏面,還想要使用雙引號,只能使用轉義字符了。不然PHP就會報錯了。
從上面也可以看出轉義無非是兩種情況:1:將普通字符轉爲特殊用途,一般是編程語言中,用於表示不能直接顯示的字符,比如後退鍵,回車鍵,等。2:用來將特殊意義的字符轉換回它原來的意義。一般用在正則表達式中。還有有些腳本語言是弱類型,有些語言比如html 並不是編程語言,而是標記語言,有些語言只有一種類型 比如shell 腳本語言,這些語言中字符串都不加引號” ” ,或者可以不加引號“ ”,所以有時候需要轉移字符說明某字符此時的身份是普通字符,而不是有特殊意義的元字符。
另外出於網站的安全。在數據寫入數據庫前,都會使用轉義字符(函數)對一些敏感字符進行轉義。這樣做可以避免一些別有用心的人利用特殊符號的注入攻擊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章