为什么 Illustrator 会破坏生成的 SVG 文件中的 group/id 个名称?

Why does Illustrator mangle group/id names in generated SVG files?

我需要您支持将 svg 文件转换为 xml 示例

此图像是使用组名自动创建的 SVG 文件 A/C

现在xml代码

<g id="With_auto_A_x2F_C">
        <text transform="matrix(0.9965 0 0 1 447.8486 12.79)" fill="#13110C" font-family="'Helvetica'" font-size="5.9999">With auto A/C</text>
    </g>
</g> 

为什么组名 g id 正在创建 "With_auto_A_x2F_C"> 对于特殊字符,例如“/”更改为 x2F,“”字符更改为“_”,为什么 谁能帮我解决这个问题。

也可以为我提供 xml 代码的所有特殊字符转换。

谢谢, Yogesh.v

正在转换名称,因为并非所有字符都允许出现在 id 属性中。

id属性can be found in the XML specification的有效字符列表,但基本上包括:

  • ASCII 字母和数字
  • :_-.
  • 其他一些 unicode 字符

至于 Illustrator 使用什么算法来过滤文本字符串以制作 ID - 我不知道。你将不得不尝试。但是看起来它将空格转换为下划线('_')。并且它通过将其他不兼容的字符转换为十六进制来转义它们。 2F 是斜线字符('/')的 ASCII 码的十六进制值。所以看起来它通过用 _x_.

包围它来逃避

因此,例如,十六进制值为 2B 的加号 ('+') 可能会被转义为 _x2B_

如前所述,如果以 SVG 格式保存文件,对象和图层名称必须符合 XML 命名约定。 illustrator 如何转换这些名称,您可以在图层面板中立即看到,为此打开 Edit->Preferences->Units 并设置 'Identify Objects''XML ID'.