这是因为 Markdown 中 _ 有特殊含义 ——它用于表示 斜体。
所以,当 HTML 转换为 Markdown 时,转换器(如 pandoc、markdown-it、turndown 等库)会自动把普通文本里的下划线 _ 转义为 \_,以避免它被 Markdown 渲染器误解析为斜体标记。
举个例子:
如果不转义:
hello_world
在某些 Markdown 渲染器中可能会显示成 hello*world(把 _w 当成了斜体起始)。
如果转义:
hello\_world
就会正确显示为 hello_world。
🔑 总结:
HTML → Markdown 转换时出现 _ → \_ 的原因,是因为转换器需要 保留字面意义的下划线,避免 Markdown 语法冲突。