wharan 发表于 2022-12-10 18:05:20

哪位朋友提供一下由unicode编码查询汉字的算法

如题,由汉字unicode码(十进制+十六进制)查询汉字的算法,如:29764=>瑄。我查了一下,44149=>瑄。那么29764和44149是怎么对应的呢?

夏生生 发表于 2022-12-10 20:08:26

unicode不会,GBK的倒是有一个
http://bbs.mjtd.com/thread-184514-1-1.html
(txt2dec "瑄")==>44149
(dec2txt 44149)==>"瑄"

wharan 发表于 2022-12-10 23:04:33

夏生生 发表于 2022-12-10 20:08
unicode不会,GBK的倒是有一个
http://bbs.mjtd.com/thread-184514-1-1.html
(txt2dec "瑄")==>44149


我想把修改的字库整理一下。谢谢你

vitalgg 发表于 2022-12-11 03:46:38

本帖最后由 vitalgg 于 2022-12-11 04:02 编辑

29764=>瑄。是unicode编码
44149=>瑄,是gbk编码。
这两个编码之间没有直接公式计算关系,字的顺序不一样。只能按码表反查。

如果CAD是2021以上版本,直接 (vl-string->list "瑄") => (29764).
低版本CAD (vl-string->list "瑄") = > (172 117) => Hex(AC 75) => 44149

wharan 发表于 2022-12-11 11:56:13

本帖最后由 wharan 于 2022-12-11 12:00 编辑

vitalgg 发表于 2022-12-11 03:46
29764=>瑄。是unicode编码
44149=>瑄,是gbk编码。
这两个编码之间没有直接公式计算关系,字的顺序不一样 ...
谢谢,很详尽,问题已解决
不过我在AutoCAD2023中,(vl-string->list "瑄")=>(172 117),不知何故。
平台:Windows11 X64 工作站版,AutoCAD2023

vitalgg 发表于 2022-12-11 13:05:15

wharan 发表于 2022-12-11 11:56
谢谢,很详尽,问题已解决
不过我在AutoCAD2023中,(vl-string->list "瑄")=>(172 117),不知何故。
平 ...

你这是 把 lispsys 的值设为 0 了。
当这个为0 时,跟旧版本效果是一样的。

xinxirong 发表于 2022-12-12 10:18:38

adobe.stream

xinxirong 发表于 2022-12-12 14:43:35

用javascript就可以escape("瑄") = %7444 =29764
页: [1]
查看完整版本: 哪位朋友提供一下由unicode编码查询汉字的算法