gpt4 book ai didi

ruby-on-rails - 从 ruby​​ 读取 YAML 打印的值不正确

转载 作者:数据小太阳 更新时间:2023-10-29 08:43:27 25 4
gpt4 key购买 nike

我有一个具有以下结构的 YAML 文件:

mytext:
mykey: "\x9A\xA6@\e8ddw\xB6&*\xFFr\x81\\\xC8@\xCC\x1E^\xD6\x13^\xD2\x91\x17\xEA\xB0\x001\xDD\xC1"
myvalue: "8\xD8I\x00=\x9E\xF2I\x99tUK\xFD\x16\xA3Y"

我使用下面的 ruby​​ 代码从这个 YAML 文件中读取数据:

yamlfilen = YAML::load_file('yamlfile.yml') #Load
mykey = yamlfilen['mytext']['mykey']
myiv = yamlfilen['mytext']['myvalue']

p mykey
p myiv

当我看到控制台打印的值时,我看到了这个:

"\\x9A\\xA6@\\e8ddw\\xB6&*\\xFFr\\x81\\\\\\xC8@\\xCC\\x1E^\\xD6\\x13^\\xD2\\x91\\x17\\xEA\\xB0\\x001\\xDD\\xC1"
"8\\xD8I\\x00=\\x9E\\xF2I\\x99tUK\\xFD\\x16\\xA3Y"

Any idea why this is happening?

最佳答案

发现它没有给你不正确的值

"8\\xD8I\\x00=\\x9E\\xF2I\\x99tUK\\xFD\\x16\\xA3Y"

这实际上是正确的值,但是 \ 被额外的 \ 转义了。

这就是为什么当你看到一个字符串时它会显示两次 \

如果您只打印值,您将看到正确的值

puts "8\\xD8I\\x00=\\x9E\\xF2I\\x99tUK\\xFD\\x16\\xA3Y"

#=> 8\xD8I\x00=\x9E\xF2I\x99tUK\xFD\x16\xA3Y

注意: \ 是用于 ex 特殊字符的转义字符。

  • \t -> Tab
  • \n -> 换行

关于ruby-on-rails - 从 ruby​​ 读取 YAML 打印的值不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41485483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com