validation - 如何检查文件是否是有效的UTF-8?

标签 validation utf-8 internationalization

我正在处理一些本应是有效 UTF-8 的数据文件,但实际上并非如此,这会导致解析器(不在我的控制之下)失败。我想添加一个预验证数据的 UTF-8 格式良好的阶段,但我还没有找到一个实用程序来帮助完成此操作。

有一个web service W3C 似乎已经死了,我发现了一个仅限 Windows 的验证 tool报告无效的 UTF-8 文件,但不报告要修复哪些行/字符。

我很高兴有一个可以插入和使用的工具(最好是跨平台的),或者一个可以作为数据加载过程一部分的 ruby​​/perl 脚本。

最佳答案

您可以使用 GNU iconv:

$ iconv -f UTF-8 your_file -o /dev/null; echo $?

或者使用旧版本的 iconv,例如在 macOS 上:

$ iconv -f UTF-8 your_file > /dev/null; echo $?

如果文件转换成功,该命令将返回 0,否则返回 1。此外,它还会打印出出现无效字节序列的字节偏移量。

编辑:不必指定输出编码,它将被假定为 UTF-8。

关于validation - 如何检查文件是否是有效的UTF-8?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/115210/

相关文章:

validation - Mongoose 验证竞争条件?

validation - JSF 2——保存所有有效的组件值

utf-8 - 检测 UTF-8 编码(MS IDE 是怎么做的)?

php - utf8_encode 和重音字符的困境?

Java:接口(interface)文件中的国际化/资源管理器

arrays - 如何在快速验证器中比较数组的整数元素?

javascript - 如何检查 jQuery 验证引擎是否附加到表单?

php - 如何将 Windows-1251 转码为 UTF-8?

ios - 北欧国家没有 CoreData 获取结果

c# - 在 ASP.NET MVC 的参数中编码非 UTF-8 文本