當前位置:首頁 » 編程語言 » pythonascii轉中文

pythonascii轉中文

發布時間: 2023-05-30 17:29:31

python怎麼將ascii編碼轉成utf8編碼

python的默認的編碼是ascii:
指的是你寫代碼默認是編碼是ascii
編碼的,
當然你也可以改成你想要的編碼,比如在開頭寫個注釋就用utf8編碼
#
-*-coding:UTF-8-*-
字元串在Python內部的表示是unicode編碼:
這個是python
3
以後才是這樣的吧,

㈡ python編程中中文輸出亂碼UnicodeEncodeError: 'ascii' codec can't encode character

樓主你好!肆余

其實按照你的代碼的邏輯來做是沒有錯的,無法顯示成utf-8編碼的文本其實是因為在request請求的時候,按照網頁的標識轉了碼,接著BeautifulSoup把已經是utf-8的文本又強轉了一次utf-8編碼,導致了無法正確的顯示,以想要拿到的塵銀時間為例,其實程序的目標字元串應該如下:

#-*-coding:utf-8-*-

'''我們想要使用的字元串'''
target_str=':53'

'''兩次轉碼後的字元串'''
get_str=u':53'


歸根結底是兩個對象的類不同,但python不支持這兩種類型的強轉,個人想了個比較臨時的解決方案,算是個python打了個補丁,就是將字元串轉成二進制,再轉回字元串,這樣就unicode就不用給他加上編碼方式再轉成二進制字元串了,修改後的代碼如下:

#-*-coding:utf-8-*-
importrequests
frombs4importBeautifulSoup
fromdatetimeimportdatetime

defencode(s):
'''將字元串轉成二進制'''
return''.join([bin(ord(c)).replace('0b','')forcins])

defdecode(s):
'''將二進制轉換成字元串'''
return''.join([chr(i)foriin[int(b,2)forbins.split('')]])

res=requests.get('
)
res.encodeing='utf-8'

soup=BeautifulSoup(res.text,'html.parser')

'''每個中文字元都進行轉換處理'''
title=decode(encode(soup.select('#artibodyTitle')[0].text))
time=decode(encode(soup.select('.time-source')[0].contents[0].strip()))

chinese='%Y年%m月%d日%H:%M'
timesource=datetime.strptime(time,chinese)
print(title)
print(timesource)

看樓主在研究的過程中,對字元串的編碼原理的理解還有所欠派雹宴缺,這方面的資料在網上很多,可以再自行研究一下,能夠獲得長足的進步。

望採納,謝謝!

㈢ [Python][爬蟲] 爬出的內容如圖,編碼方式是'ascii',那其中的中文位元組去哪兒了求教這種要怎麼處理

Python代碼里的中文
代碼第一行(如果有腳本標記則是第二行)可以按照PEP8形式指定本代碼文件的編碼類型。若不指定則按照ascii(py2.x)或utf-8(py3)

你需要了解的內容
清楚知道包含中文的文件是用的什麼漏洞編碼
清楚知道自己輸出端(命令行?返告枯html?GUI?)用什麼編碼
清楚知道編碼的基本知識

你需要的python相關內容
以python2.7.x為例:
print/file.write等實質上只輸出str對象,如果輸出內容不是str對象,則使用str函數進行轉換
str函數是個殼,實質是調用對象方法__str__
encode函數是將一個unicode類按照指定的編友顫碼(如果不指定則使用defaultencoding)轉換為不帶編碼標記的str類
decode函數是將一個str類按照指定編碼(如果不指定則使用defaultencoding)轉換為使用utf-8編碼的unicode類
直接print一個容器(dict/list/tuple)的時候不會對其中的字元串進行編碼,因此看到的非ascii字元集內容將會以\xAA或者\uAAAA之類的形式輸出

Python3中,str行為與py2的unicode行為一致;bytes行為與py2的str行為一致。

㈣ python中u'\xb1\xb1'如何轉換成中文『北』

string-escape是對二進制的位元組流,一個位元組一個位元組轉義,並對每個位元組以16進制輸出;

unicode-escape是對unicode編碼的位元組流,兩個位元組兩個位元組轉義,並對每兩個位元組一起以16進制輸出。

printc.encode("unicode-escape").decode("string-escape")

㈤ Python ascii 編碼 怎麼轉化為utf-8編碼

實現代碼如下:

a='abce'
#printtype(a)
b=a.decode("ascii")
#printtype(b)
c=a.decode("ascii").encode("utf-8")
#printtype(c)


在python中進行編碼轉換都是通過unicode作為中間值實現的。所以要先decode成unicode字元,然後再使用encode轉換成utf-8編碼的str。可以把注釋取消了,看下轉換過程中的類型。

㈥ python中,將中文放到列表中會變成ascii碼,怎麼直接將中文轉為ascii碼

將中文放到列表中會變成ascii會變成ascii啊,禪逗為什麼要這么做呢,ascii不能描述中文,你可以用unicode,比如「中國」,u"中國"敗肢就是unicode, 真正的值是:賀枯賣u'\u4e2d\u56fd'

㈦ Python中如何將中文轉換成ASCII

>>>ab='不顯示職位月薪范圍'
>>>ab
'不顯示職位月薪范圍'
>>>ab.encode()
b'83xe5x9bxb4'
>>>

㈧ python2.7 中文輸出為ascii問題

這是程序中的編碼錯誤:
Python的默認編碼是ASCII模式,不支持utf8;
代碼中如果存在中文字元的話,會出現提示錯誤;
解決方法:源代碼文件第一行添加:#coding:utf-8,這樣就可以避免了。

㈨ python 將英文字母轉成對應的ASCII數字

1、創建python文件,testascii.py;

㈩ 如何用python把這段ASCII碼轉換為可讀的字元串

答案如下:
#!/usr/bin/鏈塌穗env python3
# -*- coding:utf-8 -*-
str = "\u53ef\u8f6c\u51fa\u91d1\棚卜u989d\衫知u8d85\u9650"
str.encode('utf8')
print(str)

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:335
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:943
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:739
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371