字元串轉義字元

字元串轉義字元

轉義字元是程式語言中表示字元的一種特殊形式。字元串轉義字元是用來表示字元集中定義的字元,或者是某一些特定的字元在編輯語言中被定義為特殊用途的字元。一般用於表示不能直接顯示的字元,比如後退鍵、回車鍵等,或者用來將特殊意義的字元轉換回它原來的意義。常用於C語言HTMLJAVA等編程環境中。

基本介紹

  • 中文名:字元串轉義字元
  • 外文名:String escape character
  • 學科:計算機
  • 程式語言:C語言、HTML、JAVA等
  • 意義:表示非直譯字元
  • 普遍表示:ASCII字元
定義,常用轉義字元,C語言轉義字元對照表,HTML轉義字元對照表,JAVA轉義字元對照表,意義,轉義字元出現原因,轉義字元的意義,幾種轉義字元的比較及套用,

定義

字元串轉義字元是用來表示字元集中定義的字元,比如ASCll裡面的控制字元及回車換行等字元,這些字元都沒有現成的文字代號,所以只能用轉義字元來表示 。或者是某一些特定的字元在編輯語言中被定義為特殊用途的字元。字元串轉義字元是程式語言中表示字元的一種特殊形式。一般用於表示不能直接顯示的字元,比如後退鍵、回車鍵等,或者用來將特殊意義的字元轉換回它原來的意義。常用於C語言、HTML、JAVA等編程環境中。

常用轉義字元

如HTML轉義符、java 轉義符、xml 轉義符、 oracle 轉義符、sql 轉義符 、sqlserver 轉義符、php 轉義符、asp 轉義符、vb轉義符、 javascript 轉義符等等,還有網址中的百分號

C語言轉義字元對照表

在字元集中,有一類字元具有這樣的特性:當從鍵盤上輸入這個字元時,顯示器上就可以顯示這個字元,即輸入什麼就顯示什麼。這類字元稱為可顯示字元,如a、b、c、$、+和空格符等都是可顯示字元。另一類字元卻沒有這種特性。它們或者在鍵盤上找不到對應的一個鍵(當然可以用特殊方式輸入),或者當按鍵以後不能顯示鍵面上的字元。其實,這類字元是為控制作用而設計的,故稱為控制字元。
轉義字元是C語言中表示字元的一種特殊形式。轉義字元以反斜'\'開頭,後面跟一個字元或一個八進制或十六進制數表示。轉義字元具有特定的含義,不同於字元原有的意義,故稱轉義字元。
通常使用轉義字元表示ASCII碼字元集中不可列印的控制字元和特定功能的字元,如用於表示字元常量的單撇號('),用於表示字元串常量的雙撇號(")和反斜槓(\)等。轉義字元主要用來表示那些用一般字元不便於表示的控制代碼。如下表為常用C語言轉義字元轉換表:
字元串轉義字元
C 語言區分大小寫,所以轉義字元中只能使用小寫字母,如果’\’後的字元和它不構成轉義字元,則’\’不起轉義作用,且’\’可以被忽略。

HTML轉義字元對照表

像“<”和“>”這類符號已經用來表示HTML標籤,因此就不能直接當做文本中的符號來使用。為了在HTML文檔中使用這些符號,就需要定義它的轉義字元串。當解釋程式遇到這類字元串時就把它解釋為真實的字元。在輸入轉義字元串時,要嚴格遵守字母大小寫的規則。
如下表為常用HTML轉義字元轉換表:
字元串轉義字元
HTML語言還有一些特殊轉義字元,如下表為特殊轉義字元對照表:
字元串轉義字元

JAVA轉義字元對照表

JAVA轉義字元對照報表如下:
字元串轉義字元

意義

轉義字元出現原因

其實所有程式語言,擁有轉義字元的原因基本上是兩點:
1.使用轉義字元來表示字元集中定義的字元,比如ASCll裡面的控制字元及回車換行等字元,這些字元都沒有現成的文字代號。所以只能用轉義字元來表示 。
2.某一些特定的字元在編輯語言中被定義為特殊用途的字元。這些字元由於被定義為特殊用途,它們失去了原有的意義。比如說Html中,<被HTML定義為標籤的開始,所以當我們轉入<時,HTML就會把它當作為開始,而不是當作一個<來看待。再如PHP 的雙引號("),被PHP定義為字元串的外圍標籤,所以如果你在一對雙引號裡面,還想要使用雙引號,只能使用轉義字元了。不然PHP就會報錯了。

轉義字元的意義

從上面也可以看出轉義無非是兩種情況:
1.將普通字元轉為特殊用途,一般是程式語言中,用於表示不能直接顯示的字元,比如後退鍵,回車鍵等。
2.用來將特殊意義的字元轉換回它原來的意義。一般用在正則表達式中。還有有些腳本語言是弱類型,有些語言比如html 並不是程式語言,而是標記語言,有些語言只有一種類型 比如shell 腳本語言,這些語言中字元串都不加引號” ” ,或者可以不加引號“ ”,所以有時候需要轉移字元說明某字元此時的身份是普通字元,而不是有特殊意義的元字元。
另外出於網站的安全。在數據寫入資料庫前,都會使用轉義字元(函式)對一些敏感字元進行轉義。這樣做可以避免一些別有用心的人利用特殊符號的注入攻擊。

幾種轉義字元的比較及套用

許多字元都有相應的轉義字元序列,包括單引號(\')、換行(\n)、制表符(\t)和反斜線(\\)。使用被稱為八進制轉義字元的特殊類型的轉義字元序列,可以將任何ASCII字元置於一個字元串字面常量或一個字元字面常量中,但是最好是儘可能地使用普通的轉義字元序列。
普通的轉義字元序列和八進制轉義字元都比Unicode轉義字元要好得多,因為與Unicode轉義字元不同,轉義字元序列是在程式被解析為各種符號之後被處理的。
ASCII是字元集的最小公共特性集,它只有128個字元,但是Unicode有超過65,000個字元。一個Unicode轉義字元可以被用來在只使用ASCII字元的程式中插入一個Unicode字元。一個Unicode轉義字元精確地等價於它所表示的字元。
Unicode轉義字元被設計為用於在程式設計師需要插入一個不能用源檔案字元集表示的字元的情況。它們主要用於將非ASCII字元置於標識符、字元 串字面常量、字元字面常量以及注釋中。偶爾地,Unicode轉義字元也被用來在看起來頗為相似的數個字元中明確地標識其中的某一個,從而增加程式的清晰 度。
總之,在字元串和字元字面常量中要優先選擇的是轉義字元序列,而不是Unicode轉義字元。Unicode轉義字元可能會因為它們在編譯序列中 被處理得過早而引起混亂。不要使用Unicode轉義字元來表示ASCII字元。在字元串和字元字面常量中,應該使用轉義字元序列;對於除這些字面常量之 外的情況,應該直接將ASCII字元插入到源檔案中。

相關詞條

熱門詞條

聯絡我們