Python判断中文字符串是否相等

时间:2021-03-02 07:42:18

Python判断两个相等的中文字符串为false,将两个待比较的字符串都把unicode编码设为‘utf-8’也不能解决问题,具体原因如下:
1.首先查看待比较两个字符串的编码格式 ,使用命令

import chardet
......
string_code = chardet.detect(string_word)

比较两个字符串的编码结果,如下图所示
Python判断中文字符串是否相等
Python判断中文字符串是否相等
一个编码格式为‘UTF-8-SIG’,另一个编码格式为‘utf-8’,两个字符串的编码格式不同,所以比较的结果为不相等
出现编码为‘UTF-8-SIG’是因为文件在存储的时候以UTF-8格式编码保存,将文件以UTF-8无BOM格式编码存储,则读取出的数据编码格式自然变为‘utf-8’
2.文件以UTF-8无BOM格式编码重新存储,重新比较两个相等的字符串,返回值为True,即两个字符串相等