ASCII和轉義字元的區別與聯絡

2021-06-27 08:17:58 字數 1618 閱讀 4527

轉義字元中的數都是八進位制的。

編譯器語言c儲存在以前學習c語言的過程中,只是對ascii碼和轉義字元有乙個簡單的了解,最近遇到一些關於這方面的問題,深入研究了一下,總結下來,作為以後學習參考。

ascii字符集 

計算機用數字碼來儲存字元。ascii碼(美國標準資訊交換碼)是最常用的編碼。 

ascii碼表: 

轉義字元

轉義序列必須用但括號括起來 

在ascii碼中有些字元是列印不出來的,如一些動作字元,這些字元叫做「非列印字元」,c語言為非列印字元提供了另外一種表示方式。

非列印字元只是ascii的乙個子集

轉義字元       對應ascii碼十進位制 

/a 響鈴(bel)   007

/b 退格(bs)     008

/f 換頁(ff)      012

/n 換行(lf)     010

/r 回車(cr)     013

/t 水平製表(ht) 009

/v 垂直製表(vt) 011

// 反斜槓          092

/? 問號字元      063

/' 單引號字元    039

/" 雙引號字元   034

所有的ascii碼都可以通過轉義方式表示出來 

char test='a'; (編譯器將其轉換為相應十進位制編碼值,即65) 

char test='/101';(對應的是a的八進位制表示方式,需要注意的是:/ 後最多只能是三位,若寫成'/0101 則出錯,但是若編碼為/007,則可以寫成/07或者是/7') 

char test='/0x41';(對應的是a的十六進製制表示方式) 

不使用轉義方式表示 

char test=65; 

char test=0101; (注:其中前面的0表示為八進位制表示,若沒有0,表示的是e) 

char test=0x41; 

對於轉義字元,除了上面的兩種表示方式以外,還有第三種表示方式,假設蜂鳴字元 

ascii碼值:char beep=7(或者用八進位制或者十六進製制表示); 

c中提供的特殊的符號串行:char beep='/a'(或者轉義的八進位制和十六進製制表示) 

轉義的方式表示:char beep=『/007' 

轉義字元的另外用法:引用特殊的字元常量,如引用/ 、'、 ",寫成//、/'、和/" 

需要注意的幾個方面:

無論是普通字元還是轉義序列,如果作為雙引號中字元集合的一部分,則無需引號 如:printf("hello!7/n"),列印hello!7 

什麼時候使用ascii碼,什麼時候使用轉義序列呢?如果要在某個轉義序列和其對應的ascii碼之間做出選擇,則應當使用轉義序列。比如選擇'/f'而不是'/014'。首先,轉義字元更容易記憶;其次,這樣做使程式的可移植性更好。因為在不使用ascii碼的系統中,'/f'仍然適用 

當需要數值編碼時,為什麼使用'/032'而不是032?首先,'/032'更能清晰地表達程式設計師表示乙個字元編碼的意圖;其次,'/032'這樣的轉義序列可以嵌入到c字串中,而032不可以,例如:"hello!/007/n"中就嵌入了'/007' 

使用ascii時要注意數字和數字字元的區別。例如字元4的ascii碼值為52.寫法'4'表示符號4而不是數值4。

ASCII表和轉義字元

ascii表 目前計算機中用得最廣泛的字符集及其編碼,是由美國國家標準局 ansi 制定的ascii碼 american standard code for information interchange,美國標準資訊交換碼 它已被國際標準化組織 iso 定為國際標準,稱為iso 646標準。適用於...

轉義字元與ASCII之間的關係

換頁 ff 將當前位置移到下頁開頭 十進位製碼是 012,八進位製碼是 014,十六進製制是 x0e換行 lf 將當前位置移到下一行開頭 十進位製碼是 010,八進位製碼是 012,十六進製制是 x0c回車 cr 將當前位置移到本行開頭 十進位製碼是 013,八進位製碼是 015,十六進製制是 x0...

基礎14 轉義字元和特殊字元ASCII

一 摘要 psql轉義字元 二 plsql轉義字元 plsql對應的字元和序號關係 二 plsql特殊字元 plsql對應的字元和序號關係 1.轉義字元為 select from bxj test where testchar like sdd escaape sdd kk 2.轉義字元為 sele...