我有两个字符:⼔
和匕
,从现在开始,我将其定义为char1
和char2
。在python控制台中,当我运行char1 == char2
时,结果为False
。运行char1 is char2
时,仍然得到False
。
我尝试使用它来查找编码,因为我认为它可能返回False
,因为编码是不同的,但是当我执行char1.encode("utf-8") == char2.encode("utf-8")
并且与is
命令相同时,它返回False
。
如何识别这些相同的字符?
答案 0 :(得分:1)
答案 1 :(得分:-2)
#!/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 decomposition\n" if
charinfo(ord $char2)->{code}
==
charinfo(ord $char1)->{decomposition} =~ s/<compat> //r;
print "normalises to the same character\n" if
NFKC($char1) eq NFKC($char2);