tiancao100 发表于 2024-4-22 19:41:41

szhorse 发表于 2024-4-22 14:44
文件发一个,用这个lsp测试一下啊

没有下载,我也不懂lsp:'(

tiancao100 发表于 2024-4-22 19:44:17

mikewolf2k 发表于 2024-4-22 16:43
是很老的图纸么?依稀是2000左右的,那时候acad还不能识别不同编码的文字,要做一个代码页转换的操作。不过 ...

这个字符编码有没有和Unicode映射关系,或者逻辑运算计算编译过来?

szhorse 发表于 2024-4-23 08:28:47

tiancao100 发表于 2024-4-22 19:41
没有下载,我也不懂lsp

我意思你发个dwg文件上来,说不哪位大神看见就顺手给你解决了

mikewolf2k 发表于 2024-4-23 14:24:25

tiancao100 发表于 2024-4-22 19:44
这个字符编码有没有和Unicode映射关系,或者逻辑运算计算编译过来?

没有测试过,应该就是unicode编码。试着把M+后面字符转化为数字,查询对应的unicode编码,看看文字对得上么。

szhorse 发表于 2024-4-28 10:11:57

本帖最后由 szhorse 于 2024-4-28 10:17 编辑

应该是字体的原因,我使用AllInOneUni+AllInOneBig,用你图中显示的编码输入 可以显示汉字和标点

li984479 发表于 2024-5-16 16:49:08

我也遇到过这个问题,试试这个百度文库的方法

xugaoming23 发表于 2025-2-8 21:43:57

本帖最后由 xugaoming23 于 2025-2-9 13:35 编辑

标记一下:
这两天也遇到这个问题,资料太少,信息太少,希望在研究的有用
c# net 无法获得对应编码字符,但lisp的dxf可以获得\M+nXXXX格式,要修正只能通过lisp操作


比如我在文字里
输入\M+1EC34 显示为“”,该字符的unicode编码为\U+E801,两者相等,
输入\M+1EC35 显示为“”,该字符的unicode编码为\U+E805,两者相等,
通过复制字符和net读取都是unicode,但是dxf显示\M+1XXXX,两者到底如何完成转换?



dxf对应扩展字典会显示这个标记(AcadStringInfo (1000 . MIFCodePage) (1070 . 1))


M+nXXXX 格式为MIF编码格式即多字节编码,指CJK(中日韩)编码,(n从0~5,估计0就是系统默认代码,其他1-5指具体代码页)

static intJapanese
Codepage index 1 - Windows 932   shift_jis
static intTradChinese
Codepage index 2 - Windows 950   big5
static intKoreanWansung      
Codepage index 3 - Windows 949   ks_c_5601-1987
static intKoreanJohab
Codepage index 4 - Windows 1361   Johab
static intSimpChinese
Codepage index 5 - Windows 936   gb2312

U+XXXX格式为CIF编码,这个不用说了unicode万国编码


来源:
https://reference.aspose.com/cad/java/com.aspose.cad/MifCodePages
https://docs.aspose.com/cad/net/auto-codepage-detection/



页: 1 [2]
查看完整版本: 所有汉字都变成“\M+”的形式了,是什么原因造成的,怎么还原?