gpt4 book ai didi

ruby - 使用 Ruby 在文件名中包含中文字符的递​​归目录列表

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

我想生成一个目录中的文件列表。部分文件名包含汉字。

例如:[测试].Test.txt

我正在使用以下代码:

require 'find'
dirs = ["TestDir"]
for dir in dirs
Find.find(dir) do |path|
if FileTest.directory?(path)
else
p path
end
end
end

运行脚本会生成一个文件列表,但中文字符会被转义(替换为反斜杠后跟数字)。使用上面的示例文件名将产生:

“TestDir/[\312\324\321\351]Test.txt”而不是“TestDir/[测试].Test.txt”。

如何修改脚本输出汉字?

最佳答案

Ruby 需要知道您正在处理代码中的 unicode。使用 KCODE 设置适当的字符编码,如下所示:

$KCODE = 'utf-8'

我认为 utf-8 对汉字来说已经足够好了。

关于ruby - 使用 Ruby 在文件名中包含中文字符的递​​归目录列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/309539/

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