python-3.x - 编码方法python 3
问题描述
我正在将应用程序从 Ruby 转换为 Python,在 Ruby 中,有一个 force_encoding 方法用于对 utf8 字符串进行编码。现在,在 Python 中,force_encoding 没有完全匹配,因此,我使用的是 encode 方法,但是因为 Python 3 方法返回的字节不是字符串,但我需要编码的字符串。
例如:str1 = "abc" str2 = str1.encode("ascii") // 返回字节
我需要字符串而不是字节,我可以像...一样使用解码方法吗?
str1 = "abc" str2 = str1.encode("ascii").decode("ascii")
我很困惑,如果解码方法将字符串再次转换为 utf8 而我需要 ascii 字符串。
在 Ruby 中还有一件事是方法编码来检查编码类型......
Ruby: str1 = "abc" print (str1.encoding) // 返回 utf8
所以,我们可以确定字符串是utf8编码的字符串,Python中是否也有类似的东西???
解决方案
所以,我们可以确定字符串是utf8编码的字符串,Python中是否也有类似的东西???
在 Python 3 中,所有字符串都是 unicode 编码的,所以不需要检查任何东西。
UPD:但如果你在谈论字节,我的意思是确定字节字符串的编码,这可以通过以下方式完成:
import chardet
the_encoding = chardet.detect(...)['encoding']
推荐阅读
- html - 如何使我的导航菜单显示在现有文本上
- git - zsh 显示 git-status 甚至很难它不是一个 repo
- microsoft-teams - 应用程序在 Teams 内运行,但不在本地主机上
- reactjs - 这个 React 代码中的“ref”做了什么
- html - 浏览器对@media 查询的解释存在错误
- scala - 为什么将具有 3 字段元组的普通 RDD 转换为 map 方法中的键值对是有效的?
- apache-spark - 提高窗口功能性能
- javascript - 对对象集合(不是数组)进行排序
- vue.js - 如何检测请求是否被 AdBlocker 阻止?
- python - 如何按日期过滤python pandas数据框列