ruby - 红宝石。读取简单文件后的 NUL 字符
问题描述
我正在使用 Ruby 读取简单的文本文件以进行进一步的正则表达式处理,突然我NUL
在每个可打印字符之后看到那个 str 。完全迷失了,它来自哪里,我测试了在记事本中输入简单的文本,保存为 txt 文件并且仍然得到那些。我在W机器上,以前没有这个。我如何处理它,可能会替换它们,不知道如何引用它们。我的正则表达式不适用于它们,尝试了几种方法,使用 SciTE 运行。例如 use
表示为uNULsNULeNUL
且不等于use
puts File.read(file_name)
puts '____________________'
File.open(file_name, "r") do |f|
f.each_line do |line|
puts 'Line.....' + line
end
end
解决方案
该文件可能是 UTF-16 格式。您需要以这种方式阅读它:
File.open(file_name, "r:UTF-16LE") do |f|
# ...
end
该格式是 Windows 中的默认格式。
您始终可以通过将文件重新保存为 UTF-8 来解决此问题。
推荐阅读
- powerbi - 出于效率目的使用变量的 DAX 函数
- javascript - 使用 foreach 向项目添加新属性不起作用
- node.js - 在 mongodb 中更新和插入多个文档
- swift - 将 CorePlot 添加到迦太基后构建失败错误
- mysql - 错误代码:1210. MySQL Workbench 中视图上的 MATCH 参数不正确
- hashicorp-vault - 检查密封状态时出错:获取 https://127.0.0.1:8200/v1/sys/seal-status: x509:
- amazon-web-services - 来自后端资源的 Websocket 事件?
- powerbi - PowerBI:计算表包含一个值而不是另一个值
- nginx - 如何使用 Nginx 提供 Redis 密钥?
- android - Flutter 使用 android 库的视图