当前位置:首页 » 编程语言 » 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