gpt4 book ai didi

ruby - 哈希字符串编码不正确

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

我有一个简单的常量散列,其中定义了字符串键:

MY_CONSTANT_HASH = {
'key1' => 'value1'
}

现在,我注意到 key 上的 encoding.nameUS-ASCII。但是,Encoding.default_internal 预先设置为 UTF-8。为什么它没有被正确编码?之后我不能force_encoding,因为对象在那一点被卡住,所以我得到这个错误:

无法修改卡住的字符串

附注:我使用的是 ruby​​ 1.9.3p0(2011-10-30 修订版 33570)。

最佳答案

默认internalexternal编码针对IO操作:

  • CSV
  • 从磁盘读取文件数据
  • 来自目录的文件名
  • 等...

对您来说最简单的事情是添加一个# encoding=utf-8 注释来告诉Ruby 源文件是UTF-8 编码的。例如,如果您运行此命令:

# encoding=utf-8
H = { 'this' => 'that' }
puts H.keys.first.encoding

作为独立的 Ruby 脚本,您将获得 UTF-8,但如果您运行此命令:

H = { 'this' => 'that' }
puts H.keys.first.encoding

您可能会得到 US-ASCII。

关于ruby - 哈希字符串编码不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9135584/

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