Unicode U202D 和 U202C 问题总结

在Win10计算器培训中遇到问题,计算结果字符串长度异常,发现存在不可见字符U202D和U202C。这两个Unicode字符导致字符串比较异常,影响自动化处理。通过二进制查看和Unicode查询,了解到其为方向格式化字符,研究其在自动化中的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近给新人培训的过程中, 在win10的计算器上遇到了一个小问题, 当时本来以为5分钟能给解决, 结果研究了2个小时才找到root cause, 总结一下当时的思路.

环境: Win10 ent x64 21H1

打开计算器, 获取计算结果的文本后, 与预期进行比较, 结果比较总是不会进到 IF里, 明明两个变量都是同样的数字.

刚开始看到这个问题, 我以为是计算器文本中带了 CR/LF/TAB 这类字符串, 便想到了remove前后的特殊字符, 无果.

之后比较了一下获取到的字符串的长度, 明明是一个三位数, 但是string length 竟然是5, 由此便想到放到二进制中查看一下.

 查看发现, 从计算器结果框中取到的值, 多了一个 '- '的字符.

这下就好判断了, 用unicode查看一下取到的变量, 发现获取到的变量中, 是两个不可见字符, U202C 和 U202D.

查了一下这两个字符的用途, 没找到特别满意的答案.不过发现有人跟我遇到了一样的问题.

preview

其实用workaround很容易把这个问题忽略, 但是确实感觉这么一个简单的计算器的automation, 觉得挺有趣的, 就花时间研究了一下. 

字符含义:​​​​​​U+202C Pop Directional Formatting (PDF) Unicode Character (compart.com)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值