首页 > 编程语言 >python之chardet操作 编码&解码

python之chardet操作 编码&解码

时间:2023-12-15 17:47:51浏览次数:26  
标签:编码 temp python 解码 bytes detected chardet str

# python之编码&解码
"""
python中有两种类型,字符串和字节
但是字节的编码是什么我们不知道,所以解码不好解决, chardet解决了这个问题
pip install chardet
"""

# 字节 ---> 字符串
import chardet

temp_bytes = b'hello word'
temp_str = temp_bytes.decode("utf8")
print(f"temp_str:{temp_str}")

# 字符串 ----> 字节
temp_str = "八角寒冰草,烈火杏娇疏"
temp_bytes = temp_str.encode("utf8")
print(f"temp_bytes:{temp_bytes}")

# ----------------------------------------------------------
# chardet功能检测编码
temp_bytes = '八角寒冰草,烈火杏娇疏'.encode("gbk")
detected = chardet.detect(temp_bytes)
print(f"detected:{detected}")


# 根据上述功能,我们就可以知道他是什么编码,从而解码 | 对于爬虫也适用, res.content是字节 res.text是字符串
temp_bytes = '八角寒冰草,烈火杏娇疏'.encode() # 条件1,我获取一个字节,这个编码未知
detected_encoding = chardet.detect(temp_bytes)["encoding"]
temp_str = "八角寒冰草,烈火杏娇疏".encode(detected_encoding).decode('utf-8')# 条件二,使用该字符串--编码未知--解码utf8
print(f"temp_str:{temp_str}")


#输出
# temp_str:hello word
# temp_bytes:b'# \xe5\x85\xab\xe8\xa7\x92\xe5\xaf\x92\xe5\x86\xb0\xe8\x8d\x89,\xe7\x83\x88\xe7\x81\xab\xe6\x9d\x8f\xe5\xa8\x87\xe7\x96\x8f'
# detected:{'encoding': 'KOI8-R', 'confidence': 0.2070506607641618, 'language': 'Russian'}
# temp_str:八角寒冰草,烈火杏娇疏

标签:编码,temp,python,解码,bytes,detected,chardet,str
From: https://www.cnblogs.com/wusenwusen/p/17903853.html

相关文章

  • Python 异步编程之yield关键字
    背景介绍在前面的篇章中介绍了同步和异步在IO上的对比,从本篇开始探究python中异步的实现方法和原理。python协程的发展流程:python2.5为生成器引用.send()、.throw()、.close()方法python3.3为引入yieldfrom,可以接收返回值,可以使用yieldfrom定义协程Python3.4加入了asy......
  • 12.15---python文件读取
    withopen('pi_digits.txt')asfile:contents=file.read()print(contents.strip())要想访问文件内容需要先打开它才能访问,函数open()接受一个参数:要打开文件的名称。在当前执行文件的目录中查找文件名。代码中,open('E:/python/文件和异常/pi_digits.txt')返回一个表示......
  • python二分类模型精度低怎么办
    在二分类模型中,如果模型的精度较低,可能需要采取一些措施来改进模型性能。本文将介绍一些常见的方法和技巧,帮助提高二分类模型的精度。1.数据预处理确保对数据进行适当的预处理是提高模型精度的重要步骤。常见的数据预处理方法包括:-数据清洗:处理缺失值、异常值等。-特征选择:选择对目......
  • 如何在 python 中安装 torch
    PyTorch是一款功能强大的深度学习框架,它提供了丰富的工具和接口来支持各种深度学习任务。本文将介绍在Python中安装PyTorch的步骤和方法,以帮助读者快速开始使用PyTorch。1.安装Python首先,确保你的计算机上已经安装了Python。建议使用Python的最新版本,可以从官方下载并安装Python。2......
  • 在Python的类型提示中,你不能直接使用​​or​​​来表示一个参数可以是多种类型中的一
    在Python的类型提示中,你不能直接使用or来表示一个参数可以是多种类型中的一种。你应该使用typing.Union来表示这种情况¹²。所以,你的函数应该这样写:fromtypingimportUnion,Listdefquery_coilNum(self,coilNum:Union[str,List[str]]):pass在这个例子中,Union[str,Li......
  • ffmpeg 添加自定义编解码插件
    有两种方法:一.ffmpeg添加自定义编解码插件(以修改ffmpeg源码的方式添加)例:添加一个解码器,给这个解码器取个名字叫mydecoder,可以通过下面的步骤添加:1.在libavcodec目录下,新建文件mydecoder.c#include"avcodec.h"#include"codec_internal.h"//自己封装的编解码器的头文件#......
  • 【Lidar】基于Python格网法计算点云体积(eg.树木体积)
    ​        这两天一直不在状态,不是特别想分享文章,所以也没怎么更新。但是代码放在文件里始终不是它的归宿,只有被不断使用它才能进步,才能诠释它的意义。所以今天抽空给大家分享一下如何基于Python利用格网法计算点云的体积,我这里是做林业的点云,所以是按照树木体积编写的......
  • python读取rtsp流,并消耗
    1.python读取rtsp流,并消耗(用线程)importosimportcv2importgcimporttimeimportthreadingimportnumpyasnpfromPILimportImagetop=100stack=[]#向共享缓冲栈中写入数据:defwrite(stack,cam,top:int)->None:  """  :paramcam:摄像头参数  :para......
  • Python实现RTSP流测试
    本文将详细介绍如何使用Python来测试RTSP流。首先,我们需要了解什么是RTSP。RTSP(RealTimeStreamingProtocol)是一种基于文本的IP协议,主要用于控制实时数据的传输,例如音频或视频。在本文中,我们将使用Python中的OpenCV库来测试RTSP流。一、安装OpenCV库在Python中使用OpenCV库需......
  • python之typing
    typing介绍Python是一门动态语言,很多时候我们可能不清楚函数参数类型或者返回值类型,很有可能导致一些类型没有指定方法,在写完代码一段时间后回过头看代码,很可能忘记了自己写的函数需要传什么参数,返回什么类型的结果,就不得不去阅读代码的具体内容,降低了阅读的速度,typing模块可以很......