我正在将应用程序从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中是否也与此类似?
答案 0 :(得分:0)
因此,我们可以确定字符串是utf8编码的字符串,在Python中是否也与此类似?
在Python 3中,所有字符串都是unicode编码的,因此无需检查任何内容。
UPD :但是,如果您在谈论字节,我的意思是确定字节串的编码,这可以通过以下方式实现:
import chardet
the_encoding = chardet.detect(...)['encoding']