JTan Asked: 2024-10-03 00:35:04 +0800 CST2024-10-03 00:35:04 +0800 CST 2024-10-03 00:35:04 +0800 CST 这个编码 \M+5BCFE\M+5BAC5 是什么? 772 我们在 dxf/dwg mtext 实体中看到了一些不熟悉的编码文本,例如 \M+5BCFE\M+5BAC5,它应该是汉字 件号。有人能识别这些编码并知道如何解码它们吗? 在 Google 上搜索并询问了 ChatGPT,但没有结果。 unicode 1 个回答 Voted Best Answer JosefZ 2024-10-03T03:17:03+08:002024-10-03T03:17:03+08:00 来自Unicode 和 DXF 文件: DXF 交换格式文件(DWG 的文本版本)中表示的文本(文本对象的内容)在 AutoCAD 2017 版之前都以纯 ASCII 格式存储。特殊字符 - 例如捷克语、亚洲语、西里尔语 - 使用 MIF(Maker 交换格式,语法M+nxxyy:)或 CIF(通用交换格式,语法 U+nnnn:)代码表示。 自 2007 版起,DXF 文件以 Unicode (UTF-8) 保存和加载。因此,任何特殊字符也可以直接存储到 DXF 中。但它们仍然可以从 MIF 和 CIF 代码中进行解释。解释代码时,DWGCODEPAGE 将应用变量的当前设置。 关于语法中的nM+nxxyy,请阅读AdCharFormatter::getMIFCodePage: 此静态方法检索给定索引的代码页值。ch 必须在'1'(0x31) 至'5'(0x35) 范围内。 如果 ch 不代表有效索引,则返回零。否则,它返回以下值之一: 932 - Shift-JIS(日语) 950 - 大五码(繁体中文) 949 - KS C-5601-1987(万成) 1361 - KS C-5601-1992(约哈布) 936 - GB 2312-80(简体中文) 让我们检查一下(使用 Python 的示例,以确保其普遍可理解性): '件号'.encode('gb2312-80') b'\xbc\xfe\xba\xc5' 我们看到相同的十六进制值bc fe ba c5,如\M+5 BCFE \M+5 BAC5
来自Unicode 和 DXF 文件:
关于语法中的n
M+nxxyy
,请阅读AdCharFormatter::getMIFCodePage
:让我们检查一下(使用 Python 的示例,以确保其普遍可理解性):
我们看到相同的十六进制值
bc fe ba c5
,如\M+5 BCFE \M+5 BAC5