明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1506|回复: 25

[提问] 请教 高版本ACAD上 Lisp 如何判断汉字 和上标 下标?

[复制链接]
发表于 2020-4-29 00:02 | 显示全部楼层 |阅读模式
本帖最后由 nihaogemen 于 2020-4-29 13:09 编辑

关键是 (strlen "汉字CAD")=7 导致失败我想有一个函数
(strlen "汉字CAD")=5

有什么方法可构建一个函数,以使之=5

关于 上标 下标 问题 请麻烦看16楼。




点评

见 14 楼  发表于 2020-4-29 11:34
 楼主| 发表于 2020-4-29 16:10 | 显示全部楼层
我是想写一个函数 只要匹配到一个字符就返回T
比如字符串1= “acbdAegf”  字符串2=”ghijAklmn
两个字符串只要有一个A匹配,就返回T
如果是asc码当然没有问题。问题是有asc码 汉字 还有特殊字符比如平方2、立方3符号、版权所有®等符号。无法判断字符串长度

点评

按你的要求写函数的话,可以不使用到 strlen函数的。 vl-string->list,chr,foreach,member判断就好了  发表于 2020-4-29 21:09
 楼主| 发表于 2020-4-29 12:55 | 显示全部楼层
本帖最后由 nihaogemen 于 2020-4-29 13:01 编辑

我2020版中文版 好像不行

另外哪位高手再指教一下 上标 下标 之类的有没有类似 从一到龥 的通用方式。
因为这些符号是用6个字节的。
上面是3的3次方
3 是 51 ,上标 用了6个字节

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x

点评

2020没有这个系统变量,只有2021才支持unicode。  发表于 2020-4-29 15:31
发表于 2020-4-30 14:46 | 显示全部楼层
nihaogemen 发表于 2020-4-29 12:55
我2020版中文版 好像不行

另外哪位高手再指教一下 上标 下标 之类的有没有类似 从一到龥 的通用方式。

上标cad的正确输入是\u+00b,所以占用了6个字节,你可以直接对比字符串就知道是不是上标
发表于 2020-4-29 01:34 | 显示全部楼层
(strlen "汉字CAD")  是等于5啊


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-4-29 08:14 | 显示全部楼层
可能是版本不同,我的是 2020版:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2020-4-29 08:16 | 显示全部楼层
(LL:TuC "Hat" 8 "Continuous" "0.05")
请教大家,上面的 LL 是什么鬼?
发表于 2020-4-29 08:26 | 显示全部楼层
mokson 发表于 2020-4-29 08:16
(LL:TuC "Hat" 8 "Continuous" "0.05")
请教大家,上面的 LL 是什么鬼?

LL:TuC用户定义的函数名,写程序的人喜欢LL开头而已
发表于 2020-4-29 08:27 | 显示全部楼层
这与字体有关。你用的什么版本?
发表于 2020-4-29 08:43 | 显示全部楼层
不知道LSP有无判断字符数和字节数的函数,汉字的双字节,一个字符等于两个字节。如果字节数大于字符数,多出来的数量就是其中的汉字字符数。
发表于 2020-4-29 09:05 | 显示全部楼层
可以参考一下http://bbs.xdcad.net/thread-706787-1-1.html,上面有高手的回复。
发表于 2020-4-29 09:33 | 显示全部楼层
AutoCAD2021版本,中文也点一个字符。
发表于 2020-4-29 09:44 | 显示全部楼层
2021版本开始AutoLISP支持Unicode,汉字不再是多字节编码,所以strlen计算字符长度,一个汉字就是一个字符长度,而不是2。相应的各种程序的代码需要重新核查。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-6-15 13:53 , Processed in 0.311592 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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