gpt4 book ai didi

嵌套键的 Ruby 编码问题

转载 作者:数据小太阳 更新时间:2023-10-29 07:32:23 24 4
gpt4 key购买 nike

为了解决problem with YAML incompatibility我正在尝试用 Ruby 编写命令行脚本。问题是我完全不熟悉 Ruby。

所以我制作了以下脚本:

require 'json'
require 'yaml'

thing = YAML.load('---
author_id:
- 0
- 1
subject:
- ""
- !binary |
0KHQtNC10LvQsNGC0Ywg0LPRgNCw0LzQvtGC0L3Ri9C5INCy0L3QtdGI0L3Q
uNC5INCy0LjQtCDQtNC70Y8g0LjQvNC10Y7RidC10LPQvtGB0Y8=
')

puts thing.to_json
# puts thing['subject'][1].to_json # Issues the same error

现在我得到 yaml2json.rb:15:inencode': "\xD0"from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)`

如何让它认为解码后的base64是UTF-8?通常我不知道 key 的确切名称,subject 只是一个例子。

最佳答案

thing['subject'][1].force_encoding('utf-8')
puts thing.to_json

产生:

{"author_id":[0,1],"subject":["","Сделать грамотный внешний вид для имеющегося"]}

由于不知道字符串会放在哪里,目前想到的最佳方案是递归遍历Hash,对所有字符串进行force_encoding。可能有更优雅的解决方案。

关于嵌套键的 Ruby 编码问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16206558/

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