1樓:
你說,你要把'u722cu866b' 變b'\u722c\u866b',
很簡單,我會,迴圈遍歷,替換就好了。。。。
def hehe(a):
sum=b''
for x in aif x=='u'sum+=b'\u'elsesum+=x.encode()
return sum
你說要把 'u722cu866b' 變 unicode編碼,我也會, 先解碼,得到了結果,你在encode指定任何編碼都OK(unicode,本身編碼,有很多種的)
但你說這兩個是一樣的,那誰也不會了。。。
因為,乙個要的結果,是b'\u722c\u866b'
乙個要的結果,是u'\u722c\u866b'
先說一點題外話,關於編碼的,這個是任何程式語言都要遇到的坑
ascii,unicode,utf8 utf16 utf32,gbk,他們的區別要好好看看,
2樓:exiledkingcc
首先Unicode有多種形式(format),你要的是哪種?請正確認識Unicode charset與Unicode transfer format。
其次,在Python3中,所有字串都是Unicode,你可以用encode與decode在字串與位元組碼兩者間轉換。
然後,看你的描述,和Unicode沒什麼關係,就是把字元(按某種方式)編碼成位元組。感覺你這是乙個XY problem。最好描述一下你的原始需求。
python中既然原始字串中的 不是轉義作用了,為什麼原始字串不能以 結尾呢??
青山 哈哈,是的。只能以 結尾,居然不能以 結尾。這個我第一次寫的時候也懵逼了。廖大神說的有道理,直譯器是人寫的,很顯然那個人沒有強迫症。要是我來寫就要把結尾和處理掉。 記得官方的說法是,原始字串a r 123 也會把緊跟的 轉義,導致直譯器認為你還沒有輸入字串結束符。所以說即使在raw strin...
Python中怎麼提取字串中的漢字?
Datawhale 採用正規表示式的方法對字串進行處理。str1 我 是,速 度 發 中 國 人 1 提取漢字 漢字的範圍為 u4e00 u9fa5 這個是用Unicode表示的 import reres1 join re findall u4e00 u9fa5 str1 print res1 輸出...
python中字串 s 1 是什麼意思?
酒罈壇兒 從字串的第乙個字元開始乙個乙個的取,取到倒數第乙個字元前為止 s hello s 1 hell 爬行的蝸牛 相當於 s 0 len s 1 這是一種切片操作,表示從0開始,到最後乙個數之前的所有字元。除了字串可以切片,陣列,字典都可以切片。 Occam srazor 取s字串index 0...