You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确比较Unicode字符串?Python代码匹配失败问题求助

问题原因与解决方法

你的代码里conc_value比目标字符串'(01)'多了一个ASCII空字符(NUL,对应chr(0)),导致两者长度和内容都不匹配:

  • chr(40)是(,chr(48)是0,chr(49)是1,chr(41)是),这四个拼接起来正好是'(01)',但你额外加了chr(0)——一个不可见的空字符,最终conc_value是'(01)\x00'(长度为5),而目标字符串长度是4,自然无法匹配。

解决办法

直接去掉多余的chr(id_4)即可,修改后的代码:

id_0 = 40
id_1 = 48
id_2 = 49
id_3 = 41

conc_value = chr(id_0)+chr(id_1)+chr(id_2)+chr(id_3)

if conc_value == '(01)':
    print('Match')
else:
    print('Mismatch')

如果想验证问题所在,可以在原代码里添加打印语句查看实际内容:

print(repr(conc_value))  # 会输出 '(01)\x00',清晰看到那个空字符
print(len(conc_value), len('(01)'))  # 输出 5 4,长度明显不同

内容的提问来源于stack exchange,提问作者Dan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 17:01:37