Python两个字符串在比较中显示为False



我有两个字符:,从现在起我将定义为char1char2。在python控制台中,当我运行char1 == char2时,我得到False。当我运行char1 is char2时,结果仍然得到False

我试图用它找到编码,因为我认为它可能会返回False,因为编码不同,但当我用is命令执行char1.encode("utf-8") == char2.encode("utf-8")和相同操作时,它会返回False

我如何让它识别出这些是相同的字符?

⼔和匕不是同一个字符

  • ⼔是spoon的部首(参见wiki(。这是中文单词using匕自由基

  • 匕是一个汉字(见wiki(

这就是为什么有不同的

#!/usr/bin/env perl
use utf8;
use Unicode::UCD qw(charinfo);
use Unicode::Normalize qw(NFKC);
my $char1 = "N{KANGXI RADICAL SPOON}"; # ⼔
my $char2 = "N{CJK UNIFIED IDEOGRAPH-5315}"; # 匕
print "same character considering compat decompositionn" if
charinfo(ord $char2)->{code}
==
charinfo(ord $char1)->{decomposition} =~ s/<compat> //r;
print "normalises to the same charactern" if
NFKC($char1) eq NFKC($char2);

相关内容

  • 没有找到相关文章

最新更新