明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1111|回复: 4

[经验] 字符串判断一个bug

[复制链接]
发表于 2020-7-1 11:33:15 | 显示全部楼层 |阅读模式
(= (substr "中文123" 1 1) "") 返回结果是T,英文正常。
发表于 2020-7-1 11:57:50 | 显示全部楼层
本帖最后由 llsheng_73 于 2020-7-1 12:00 编辑

严格说这个也不叫bug, 全角字符它是2个字节的,只取其中一个字节,虽然返回了一个字符串,但是它无法直接显示出来,因为它不是一个完整的字符,只是一个完整字符的一半。。。
当然也可以算BUG,因为对参数检查 不够仔细,把不应该进行比较的东西进行了比较,并且返回了错误的结果,所以也可以算是一个bug
真要比较这半个字符是否和另一个字符串相同,应该用ASCII码来比较
 楼主| 发表于 2020-7-1 12:39:40 | 显示全部楼层
关键不应该等于空字符串
发表于 2020-7-1 14:14:32 | 显示全部楼层
单字节大于 127 的编码,可能 cad 都按空字符处理,与空格的ascii码相同。

汉字“中” 的 gb2312 编码为 1101 0110 1101 0000
发表于 2020-7-1 16:57:48 | 显示全部楼层
严格来说不算BUG,人家规定好了用法,不按规定走出问题就是你的问题了,比方说(/ 3 2)返回1,你觉得这是BUG吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-5-18 01:41 , Processed in 0.180546 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表