1.基本概念
字元(character)是各種文字和符號的總稱,包括各國家文字、標點符號、圖形符號、數字等
字符集(character set)是多個字元的集合
字符集包括:ascii字符集、gb2312字符集、gb18030字符集、unicode字符集等
ascii編碼是1個位元組,而unicode編碼通常是2個位元組。
utf-8是unicode的實現方式之一,utf-8是它是一種變長的編碼方式,可以是1,2,3個位元組
2.python3中的字串
python3中兩種字串型別
1.str:unicode的呈現形式
2.bytes: 位元組型別,網際網路上的資料都是以二進位制的方式(位元組型別)傳輸的
使用方法:
1.str使用encode方法轉化為bytes
2.bytes通過decode轉化為str
注意:編碼方式與解碼方式必須一樣,否則就會出現亂碼
3.python2中的字串
python2中字串有兩種型別
1.unicode型別
2.位元組型別
在python2中,字串無法完全地支援國際字符集和unicode編碼。為了解決這種限制,python2對unicode資料使用了單獨的字串型別。要輸入unicode字串,要在第乙個引號前加上'u'。
python2中普通字串實際上就是已經編碼(非unicode)的位元組字串
3.1.python2中的位元組型別字串
python2 中定義字串的時候,會自動將字串轉換為合適編碼的位元組字串,比如中文:自動轉換為utf-8編碼的位元組字串
舉個例子(linux終端,預設終端的編碼utf-8):
>>> a = "你好" #如此定義字串的時候,其為位元組型別>>> a
'\xc4\xe3\xba\xc3'
>>> type(a)
上面的這種定義方式和在字串前面加上b的效果一樣,可以對其解碼,轉化為str型別
>>> c =b"你好">>> c
'\xe4\xbd\xa0\xe5\xa5\xbd'
>>> type(a)
>>> c.decode("utf-8")
u'\u4f60\u597d'
3.2 python2中的unicode型別
如果需要定義unicode字串,即非位元組型別的字串的時候需要在前面加上『u』
>>> e = u"你好">>> e
u'\u4f60\u597d'
>>> type(e)
>>> e.encode('utf-8')
'\xe4\xbd\xa0\xe5\xa5\xbd'
3.3 python2中位元組型別和uicode型別的轉化
1.位元組型別通過decode轉化為unicode型別
2.unicode型別通過很encode方法轉化為位元組型別
3.方法的使用和python3相同,但是在方法中預設的編碼解碼方式為ascii,對中文需要手動指定為utf-8
關於字串的一些。。。
首先呼叫這些函式需要使用標頭檔案include 1 des src abcd xyz abcdxyz char mystrcat char des,const char src 字串連線 2 字串比較 0,0,0 int mystrcmp const char str1,const char str...
一些關於字串的函式
函式名 stpcpy 功 能 拷貝乙個字串到另乙個 用 法 char stpcpy char destin,char source 程式例 include include int main void 函式名 strcat 功 能 字串拼接函式 用 法 char strcat char destin,...
關於字串的一些方法
substring public string substring int beginindex 返回乙個新的字串,它是此字串的乙個子字串。該子字串始於指定索引處的字元,一直到此字串末尾。example string str abcdefg str str.substring 2 system.ou...