我想使用单个命令更改 unix 中文件的字符集编码,但由于这将是一个自动化过程,因此我不可能知道源编码。
所以我想要一个命令将任何源编码的编码更改为 UTF-8。
答案1
有关源编码的信息必须来自某个地方。纯文本文件不包含有关其编码的任何信息。某些类型的格式化文本包含指示(例如 HTML 或 LaTeX 中的标题),但通常情况下,您需要自行决定。由环境决定其文本文件使用什么编码。
您可以尝试猜测源编码。只有当你具备以下条件时,这才有可能发挥作用一些有关文件的信息 - 要么您知道它使用什么语言(例如,您知道它是波兰语或英语),要么只有少量潜在的编码(例如,它是 UTF-8 或 Latin-1)。看如何测试文本文件的编码...它是否有效?它是什么?和如何重新编码混合编码的文本文件对于一些可能性,包括恩卡和Perl 编码::猜猜。您需要根据您的数据集确定这些工具之一是否适合您。