gpt4 book ai didi

ruby - 使用 utf-8 编码写入和读取文件

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

我一直在阅读所有与 UTF-8 相关的问题和博客文章,并且在 test.rb 文件中有以下示例:

# encoding: UTF-8
File.open("test.txt", "w") do |f|
f.write "test © foo"
end

File.open("test.txt", "r") do |f|
puts f.read
end

这非常有效。是在文件中正确生成 © 符号,并将 © 读回给我并将其打印在屏幕上。

但是当我在我的实际项目中使用相同的代码时,我将其写入文件而不是 © 符号:\u00A9

FWIW:我在针对我的代码运行 rspec (v1.2.9) 测试时得到了这个结果。规范生成一个带有 © 符号的文件,然后读回该文件以检查内容。

我目前在 Ruby 1.9.2 中运行它,但我还需要一直支持到 Ruby 1.8.6。这是带有 RubyInstaller.org 版本的 Ruby 的 Windows 环境。

最佳答案

如果我执行您的代码,我会在特殊字符上遇到错误。你能试试这段代码吗?

# encoding: UTF-8
File.open("test.txt", "w:UTF-8") do |f|
f.write "test \u00A9 foo"
end

#Encoding.filesystem = "UTF-8"
p Encoding.find("filesystem")
File.open("test.txt", "r:UTF-8") do |f|
puts f.read
end

然后在我的 windows 盒子上得到

#<Encoding:Windows-1252>
test © foo

我不知道为什么 Â 在那里..

关于ruby - 使用 utf-8 编码写入和读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5163339/

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