首页 > 解决方案 > utf-8和utf-8 BOM之间的不同python?

问题描述

我的任务是检查文件的编码。实际上,我的问题是 python 在其encoding函数中提供的编码格式。我对python很陌生,所以我认为我忽略了一些东西。

我无法理解以下几点:

根据这个文档,它应该能够识别iso8859_6格式

我试图在 www 中找到可以理解的东西,但找不到东西。

import codecs
import io

class Format:

    def __init__(self, file_Name):
        self.file_Name = file_Name

    def check_coding(self):

        encoding_formats = ['iso8859_6','utf-8', 'utf-8-sig', 'ascii']


        for ex in encoding_formats:
            try: 
                fh = codecs.open(self.file_Name, 'r', encoding=ex)

                fh.readlines()
                fh.close()

            except UnicodeDecodeError:
                    print('Die angelieferte Datei ist nicht nach %s  kodiert' % ex)
                    response = False;
            else:
                print('Angelieferte Datei besitzt folgende Kodierung:  %s ' % ex)
                response = True;
                break

        return response

file_Name格式是utf-8BOM,所以它不应该告诉我它是utf-8.

如果file_Names格式是iso8859_6它告诉我它不是以这种格式编码的,即使它是。

标签: pythonencodingutf-8character-encoding

解决方案


推荐阅读