Python判断两个相等的中文字符串为false,将两个待比较的字符串都把unicode编码设为‘utf-8’也不能解决问题,具体原因如下:
1、首先查看待比较两个字符串的编码格式 ,使用命令:
import chardet ...... string_code = chardet.detect(string_word)
比较两个字符串的编码结果,如下图所示:
一个编码格式为‘UTF-8-SIG',另一个编码格式为‘utf-8',两个字符串的编码格式不同,所以比较的结果为不相等;
出现编码为‘UTF-8-SIG'是因为文件在存储的时候以UTF-8格式编码保存,将文件以UTF-8无BOM格式编码存储,则读取出的数据编码格式自然变为‘utf-8'。
2、文件以UTF-8无BOM格式编码重新存储,重新比较两个相等的字符串,返回值为True,即两个字符串相等。