问题来自传输编码,还是文件字符编码?
MIME 传输文本使用 quoted-printable-decoder;文件字节使用了错误字符集时使用 file-encoding-converter。如果两者同时存在,先解码传输层,再转换得到文本的字符编码。
Elysia Tools
导航
Workflow Playbook
先恢复导入或复制文本的编码,再选择字符宽度规范,统一行内日期或货币表达,最后输出适合下游系统使用的文本形式。
专题
这个工作流用于准备要交给其他系统的文本,不是就地改写唯一的原始记录。先保存原文和能暴露问题的小样本,例如乱码、全角标点、混杂日期、货币符号或 MIME 转义序列。然后确定接收系统的字符集、全半角规范、地区设置和输出格式。
如果输入是邮件 MIME 传输文本,先用 quoted-printable-decoder 还原文本,再判断其中的字符。如果文件字节使用了错误字符集,随后使用 file-encoding-converter,并保留中间结果。这样可以避免后续步骤把转义序列或乱码当成真实内容。
根据接收方选择一个宽度方向:用 fullwidth-to-halfwidth 面向窄 ASCII 标识符,用 halfwidth-to-fullwidth 面向中日韩排版规则。检查时不要只看字母,还要比较标点和数字。
表示稳定后,用 text-date-format-unifier 处理有明确目标模式的日期,用 text-currency-normalizer 处理有明确代码和政策的金额表达。记录改动并保留原值;货币字符串的格式化或转换不等于财务审批。
最后选择适合下游的分支:advanced-case-converter 用于命名约定,number-to-words 用于需要把数字写成文字的正文,word-separator 用于逐行词表。如果最终要进入 MIME 传输,只在所有文本编辑完成后使用 quoted-printable-encoder。交付前抽查代表性字符、日期、金额、换行和最终格式。
工作流指南
先保留原文。只有输入确实是 MIME 传输文本时才解码 Quoted-Printable;需要更换文件字符集时再用 file-encoding-converter,并保存可读的中间结果。
先查看接收方的字段规则,在 fullwidth-to-halfwidth 和 halfwidth-to-fullwidth 中选一个方向。只处理相关字段,然后对照目标规范检查标点、数字和中日韩字符。
编码和宽度稳定后,只转换有明确目标规则的日期和货币表达。保留地区、货币代码、原始数值和审阅备注,避免把文字变化误当成未经记录的业务决定。
按下游需要选择分支:用命名约定转换标识符,用数字转单词处理需要文字化数字的正文,或用单词分离器生成一词一行的列表。不要改写依赖原始形式的字段。
对照前后样本、统计变化字段并确认下游格式。目标是 MIME 文本时最后使用 quoted-printable-encoder;否则直接交付普通文本或文件,避免增加不必要的传输层。
MIME 传输文本使用 quoted-printable-decoder;文件字节使用了错误字符集时使用 file-encoding-converter。如果两者同时存在,先解码传输层,再转换得到文本的字符编码。
面向 ASCII 字段、标识符或窄标点规则时选择 fullwidth-to-halfwidth;面向中日韩排版规范时选择 halfwidth-to-fullwidth。没有目标规范时不要把两个方向连续运行。
只有确定目标日期格式时才用 text-date-format-unifier;只有明确货币代码、显示规则和转换政策时才用 text-currency-normalizer。超出范围的值应保留,不要静默改写。
标识符命名风格用 advanced-case-converter;正文需要把数字写成文字时用 number-to-words;需要每行一个词时用 word-separator;只有 MIME 传输要求时才在最后使用 quoted-printable-encoder。