Python 字符串修噪、編碼查库、解碼

字節(jié)

8位2進(jìn)制(0~255)

字符串與編碼

ASCII碼(1字節(jié),僅包含英文黄琼、數(shù)字樊销、符號(hào)、控制符)===>Unicode碼(2或4字節(jié)脏款,漢字多數(shù)為2字節(jié)现柠,生僻字為4字節(jié))===>UTF-8碼(1~3字節(jié),英文只用1字節(jié)弛矛,漢字3字節(jié)够吩。如存在大量英文則比Unicode節(jié)省空間)、UTF-16碼(2或4字節(jié))

Python3默認(rèn)使用 UTF-8 編碼丈氓,因此支持多語言周循。
Python2需要在頭部添加注釋:# -*- coding: utf-8 -*-

格式化

f 關(guān)鍵字format 方法
其中真需要大括號(hào)的場(chǎng)景,用{{代替{万俗,}}代替}湾笛。

str_1 = "hello"
str_2 = "world"
print(f"this is {str_1} {str_2}")
print("this is {} {}".format(str_1, str_2))
print("this is {val_1} {val_2}".format(val_1=str_1, val_2=str_2))
print("this is %s" % str_1)
對(duì)于單個(gè)字符的編碼:

ord()字符 => Unicode編碼的任意進(jìn)制表示(默認(rèn)十進(jìn)制)
chr()Unicode編碼的任意進(jìn)制表示 => 字符

三引號(hào)'''或"""

允許一個(gè)字符串跨多行,自始至終保持一小塊字符串的格式是所謂的WYSIWYG(所見即所得)格式

Unicode 字符串

引號(hào)前的u表示這里創(chuàng)建的是一個(gè) Unicode 字符串闰歪。如果你想加入一個(gè)特殊字符嚎研,可以使用 Python 的 Unicode-Escape 編碼。如下例所示:

>>> u'Hello\u0020World !'
u'Hello World !'
轉(zhuǎn)義序列
  • \n 換行
  • \t 制表符(tab)
  • \'\" 單雙引號(hào)
  • \\ \
禁止轉(zhuǎn)義

引號(hào)前的r表示該字符串不會(huì)轉(zhuǎn)義為制表符

print(r'test\tddd') #test\tddd
print('test\tddd') #test    ddd
bytes類型

Python的字符串類型是str库倘,在內(nèi)存中以Unicode表示临扮,一個(gè)字符對(duì)應(yīng)若干個(gè)字節(jié)。如果要在網(wǎng)絡(luò)上傳輸教翩,或者保存到磁盤上杆勇,就需要把str變?yōu)橐宰止?jié)為單位的bytes。
Python對(duì)bytes類型的數(shù)據(jù)用帶b前綴的單引號(hào)或雙引號(hào)表示饱亿,其中\x表示16進(jìn)制(Hexadecimal):

x = b'\xe5\x90\xb4'

采用encode()進(jìn)行對(duì)應(yīng)編碼,采用decode()進(jìn)行解碼,參數(shù)為編碼類型,如:

>>> b'ABC'.decode('ascii')
'ABC'
>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')
'中文'
>>>b'\xff\xfeKm\xd5\x8b(u'.decode('utf-16')
'測(cè)試用'
>>>"測(cè)試用".encode('unicode_escape')
b'\\u6d4b\\u8bd5\\u7528'
>>>"測(cè)試用".encode('gb2312')
b'\xb2\xe2\xca\xd4\xd3\xc3'
>>>"測(cè)試用".encode('utf-8')
b'\xe6\xb5\x8b\xe8\xaf\x95\xe7\x94\xa8'
  • .decode([encoding], [errors='strict'])
    默認(rèn)的參數(shù)就是strict蚜退,代表遇到非法字符時(shí)拋出異常闰靴;
    如果設(shè)置為ignore,則會(huì)忽略非法字符繼續(xù)解析钻注;
    如果設(shè)置為replace蚂且,則會(huì)用?取代非法字符;
    如果設(shè)置為xmlcharrefreplace幅恋,則使用XML的字符引用膘掰。
字符 ASCII Unicode UTF-8
A 01000001 00000000 01000001 01000001
x 01001110 001011011 11100100 10111000 10101101

如 "中" ,Unicode編碼為 \u4e2d佳遣,Unicode 01001110001011011的對(duì)應(yīng)十進(jìn)制ord為20013 识埋, UTF-8對(duì)應(yīng)16進(jìn)制encodeb'\xe4\xb8\xad'

注意,只有bytes可以decode零渐,而字符串只能encode窒舟,因此當(dāng)字符串中文亂碼時(shí),需要先轉(zhuǎn)為bytes再轉(zhuǎn)回字符串:s.encode("utf-8").decode("unicode_escape")

字符串方法

  • replace
"hello world".replace("hello", "fuck")
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诵盼,一起剝皮案震驚了整個(gè)濱河市惠豺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌风宁,老刑警劉巖洁墙,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異戒财,居然都是意外死亡热监,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門饮寞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來孝扛,“玉大人,你說我怎么就攤上這事幽崩】嗍迹” “怎么了?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵慌申,是天一觀的道長(zhǎng)陌选。 經(jīng)常有香客問我,道長(zhǎng)蹄溉,這世上最難降的妖魔是什么咨油? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任,我火速辦了婚禮类缤,結(jié)果婚禮上臼勉,老公的妹妹穿的比我還像新娘邻吭。我一直安慰自己餐弱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著膏蚓,像睡著了一般瓢谢。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上驮瞧,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天氓扛,我揣著相機(jī)與錄音,去河邊找鬼论笔。 笑死采郎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的狂魔。 我是一名探鬼主播蒜埋,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼最楷!你這毒婦竟也來了整份?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤籽孙,失蹤者是張志新(化名)和其女友劉穎烈评,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體犯建,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡讲冠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了适瓦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沟启。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖犹菇,靈堂內(nèi)的尸體忽然破棺而出德迹,到底是詐尸還是另有隱情,我是刑警寧澤揭芍,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布胳搞,位于F島的核電站,受9級(jí)特大地震影響称杨,放射性物質(zhì)發(fā)生泄漏肌毅。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一姑原、第九天 我趴在偏房一處隱蔽的房頂上張望悬而。 院中可真熱鬧,春花似錦锭汛、人聲如沸笨奠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽般婆。三九已至到腥,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蔚袍,已是汗流浹背乡范。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啤咽,地道東北人晋辆。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像宇整,于是被迫代替她去往敵國(guó)和親栈拖。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容