- 积分
- 12799
- 明经币
- 个
- 注册时间
- 2015-8-18
- 在线时间
- 小时
- 威望
-
- 金钱
- 个
- 贡献
-
- 激情
-
|
发表于 2022-12-6 18:23:10
|
显示全部楼层
本帖最后由 你有种再说一遍 于 2022-12-6 18:27 编辑
低版本cad的lisp解析器已经被编译为指定编码(中文就是GBK,也就是你看到的GB18030,GB18030是GB2312的扩展),所以动态执行lisp的时候需要指定此编码.
而cad2021?支持了UTF8.
UTF8是先告诉你多长,再动态获取后面的字节,具体原理搜索一下就行,会发现他们真聪明.
回到cad,但是高低版本不一样的编码策略,就需要放弃动态执行了,不过也可以通过飞诗编辑器之类的转换再发送到cad执行.
顺带一提,如果在低版本的图纸上面写了utf8字符串,那么会出现断言失败,例如写到图层名上面,lisp每次获取图层名都会不一样,带有乱码后缀.
因此我换到c#去玩了... |
|