我有一个 ruby 脚本,它使用 YAML 序列化字符串数组,然后像这样反序列化它们:
@cache[url_key] = YAML.dump(website_data)
output_array = YAML.load(@cache[url_key])
返回的数组缺少一些字符,我认为换行符如 wc 所示
231 423 6340 website_data
230 423 6241 output_array
我对 stackoverflow 的阅读表明这可能是一个编码问题。IE说YAML.dump编码和YAML.load编码不同,但是我在stackoverflow上看到的所有解决方案都涉及rails,而这只是一个没有rails的ruby脚本。
编辑 1 -我尝试将编码添加到文件的第二行,但没有奏效。ruby 脚本的前两行看起来像
#!/usr/bin/env ruby
# encoding: ascii-8bit
有谁知道如何在 ruby 中设置 YAML 的编码类型?