我有一个文件叫做:Abrázame.txt文件你知道吗
我想解码它,让python理解这个'aa'字符是什么,这样它就可以打印出Abrázame.txt文件你知道吗
以下是我在一个临时文件中的代码:
import os
s = os.path.join(r'C:\Test\AutoTest', os.listdir(r'C:\\Test\\AutoTest')[0])
print(unicode(s.decode(encoding='utf-16', errors='strict')))
我从上面得到的错误是:
Traceback (most recent call last):
File "C:/Users/naythan_onfri/.PyCharmCE2017.2/config/scratches/scratch_3.py", line 12, in <module>
print(unicode(s.decode(encoding='utf-16', errors='strict')))
File "C:\Python27\lib\encodings\utf_16.py", line 16, in decode
return codecs.utf_16_decode(input, errors, True)
UnicodeDecodeError: 'utf16' codec can't decode byte 0x74 in position 28: truncated data
我查过utf-16字符集,里面确实有“á”字符。那么为什么这个字符串不能用Utf-16解码呢。你知道吗
另外,我知道“拉丁-1”将工作,并产生字符串我寻找然而,因为这是一个自动化项目,我想确保任何与任何注册字符的文件名可以解码,并用于项目内的其他事情,例如:
“在已选定文件的文件目录中打开文件资源管理器。”
在每个编解码器中循环(请注意,我相信有93个编解码器)以找到任何一个可以解码字符串的编解码器,这是获得我想要的结果的最佳方法吗?我觉得还有比这个更好的办法。你知道吗
您希望在第一次读取字符串时在边缘进行解码,这样以后代码中就不会出现意外情况。在边缘,你有一些合理的机会猜测编码是什么。对于这个代码,边缘是
您可以获得当前文件系统目录编码。所以
请注意,一旦您解码了unicode字符串,就不需要从中构建新的
unicode()
对象。你知道吗latin-1
如果这是您当前的代码页,那么它可以工作。有趣的是,尽管Windows多年来在API的“W”版本中支持“宽”字符,但python2是基于单字节字符的,不使用它们。你知道吗Python3万岁。你知道吗
相关问题 更多 >
编程相关推荐