pythonascii转中文
㈠ 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)