- 1、python字符串前綴 u和r的區別
- 2、如何去掉Python控制台打印字符串帶的’u’
- 3、如何用python將多行unicode字符串前的u移除
- 4、python 轉義符號\u
- 5、python遇到‘\u’開頭的unicode編碼
以r或R開頭的python中的字符串表示(非轉義的)原始字符串
python裡面的字符,如果開頭處有個r,比如:
(r’^time/plus/\d{1,2}/$’, hours_ahead)
說明字符串r”XXX”中的XXX是普通字符。有普通字符相比,其他相對特殊的字符,其中可能包含轉義字符,即那些,反斜杠加上對應字母,表示對應的特殊含義的,比如最常見的”\n”表示換行,”\t”表示Tab等。
而如果是以r開頭,那麼說明後面的字符,都是普通的字符了,即如果是“\n”那麼表示一個反斜杠字符,一個字母n,而不是表示換行了。以r開頭的字符,常用於正則表達式,對應着re模塊。
以u或U開頭的字符串表示unicode字符串
Unicode是書寫國際文本的標準方法。如果你想要用非英語寫文本,那麼你需要有一個支持Unicode的編輯器。類似地,Python允許你處理Unicode文本——你只需要在字符串前加上前綴u或U。
停止使用python2.x,安裝python3.x 你的問題就解決了。2系列的版本對非英文字符的處理真的好頭疼。
要知道triple string就是string,由許多characters組合而成,比如[u’123’]在a里已經沒有列表的含義了,就是“[”, “u”, “’”, “1”, “2”, “3”, “’”, “]”這些字符的組合
在’\\uff08397\\u7b49\\u7ea7’前加上r,即:
r’\\uff08397\\u7b49\\u7ea7′
這樣就取消轉義了。這在Python叫做自然字符串。
例如:
print(r’\\uff08397\\u7b49\\u7ea7′)
輸出:
\\uff08397\\u7b49\\u7ea7
在《簡明Python教程》中有這麼一句:
“
自然字符串
如果你想要指示某些不需要如轉義符那樣的特別處理的字符串,那麼你需要指定一個自
然字符串。
”
web信息中常會遇到“\u4f60\u597d”類型的字符。首先’\u‘開頭就基本表明是跟unicode編碼相關的,“\u”後的16進制字符串是相應漢字的utf-16編碼。python里decode()和encode()為我們提供了解碼和編碼的方法。其中decode(‘unicode_escape’)能將此種字符串解碼為unicode字符串。
比如:
有篇講python編碼的文章比較好,
原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/126140.html