晚上好!
问题如下:
file_msg = input('Enter text files with your message: ')
file_with_msg = open(file_msg + '.txt').read()
我打开一个带有俄语文本的文件,当我尝试在 cmd 中显示文本时,会显示难以理解的象形文字。
告诉我,我该如何解决这个问题?
文本编码 - cp1252
控制台编码 - 866。
输出结果:
C:\>python test.py
Enter text files with your message: msg2
i>??YN??????чN'
使用print(ascii(file_with_msg))获取
C:\>python test.py
Enter text files with your message: msg2
'\xef\xbb\xbf\xd0\u0178\xd1\u20ac\xd0\xb8\xd0\xb2\xd0\xb5\xd1\u201a'
utf-8-sig读取文件时应使用编码:当您使用
locale.getpreferredencoding()编码(默认为open())读取此文件时,事实'\xef\xbb\xbf'证明(转换为字节)看起来像UTF-8 中的 BOM。