栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中数据对象的编码方式及各种进制的数据格式

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中数据对象的编码方式及各种进制的数据格式

ASCII表及中文解释参考:https://www.csdn.net/tags/MtTaAg5sMjc4MDQ0LWJsb2cO0O0O.html
各种编码方式:https://zhuanlan.zhihu.com/p/46216008

查看字符编码 网络数据返回的数据类型查看

参考:https://blog.csdn.net/cpongo10/article/details/98942464?

import urllib.request
import chardet
#图片作为访问数据的连接时
#https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png
url = 'http://www.baidu.com'
a = urllib.request.urlopen(url)
print(a.read(10))  #读取网页内容
encode = chardet.detect(a.read(10))  # 读取网页内容,并查看内容编码方式
print(encode)
print ( encode [ 'encoding' ] )

结果如下图,从结果中分析,chardet.detect函数的返回值是一个字典类型的对象,需要注意的是,chardet.detect函数的参数必须是Expected object of type bytes or bytearray类型的数据。从网络中读取的数据就是bytes类型的。

读取文件的数据

一个文件test.txt的内容写入**“abd中国”**,

import urllib.request
import chardet
with open('test.txt','rb+')as f: #注意必须是b的读文件最后的数据才是bytes
	txt=f.read()
	print(txt)
	encode = chardet.detect(txt)  # 读取网页内容,并查看内容编码方式
	print(encode)

从显示结果中可以看出,显示的字节串若是ASCII码的字符就按原来的形式输出,若是中文字符就按照utf-8的16进制的格式输出。

编码方式的不同

参考:https://www.zhihu.com/question/294660079
下面程序中的读取文件中就是一个“中”,但读取后显示的是b’xe4xb8xad’(输出时的16进制格式字符串),而使用ord(“中”)后得到的结果是20013,对应的16进制是0x4e2d表示。同一个中文字符对应了不同的值,这主要因为使用了不同的编码方式:Unicode 不是单个编码,包含了 UTF-8/16/32 编码的字节数,只是习惯将UTF-16称之为Unicode,

BMP 中的汉字(常用汉字都在这里面)
UTF-8 3 字节
UTF-16 2 字节
UTF-32 4 字节

BMP 外的汉字
UTF-8 4 字节
UTF-16 4 字节
UTF-32 4 字节

import urllib.request
import chardet
with open('test.txt','rb+')as f:
	txt=f.read()
	print(txt)  # b'xe4xb8xad'
	encode = chardet.detect(txt)  # 读取网页内容,并查看内容编码方式
	print(encode)  #
#中文的“中”字的utf-8编码方式,每个中文字符占用三个字节,
#但在(UTF-16)unicode编码中使用的是两个字节
#参考:https://www.zhihu.com/question/294660079
print(str(b'xe4xb8xad','utf-8')) 
print(ord("中"))  # 20013,这里用了unicode编码的值
print(hex(20013)) # 0x4e2d ,表示的是16进制形式
bytes数据和str的数据变化方式

参考:https://blog.csdn.net/qq_46119688/article/details/122640639
python各种进制数据的格式:

进制名称数据十进制的值
八进制数据0o108
16进制数据0x1016
二进制数据0b102
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/954265.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号