gpt4 book ai didi

Ruby:如何在命令行中指定文件的字符编码(-Eex[:in] 选项)?

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

我无法设置文件的编码,总是出现错误。我已经尝试了所有方法:

C:\ruby\sbox>ruby -W3 -Eex=utf-8 gserver.rb text.txt
ruby: unknown encoding name - ex=utf-8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex=utf8 gserver.rb text.txt
ruby: unknown encoding name - ex=utf8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex:utf8 gserver.rb text.txt
ruby: unknown encoding name - ex (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex=>utf8 gserver.rb text.txt
ruby: unknown encoding name - ex= (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex=>utf-8 gserver.rb text.txt
ruby: unknown encoding name - ex= (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eexutf-8 gserver.rb text.txt
ruby: unknown encoding name - exutf-8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex"utf-8" gserver.rb text.txt
ruby: unknown encoding name - exutf-8 (RuntimeError)

C:\ruby\sbox>ruby -W3 -Eex="utf-8" gserver.rb text.txt
ruby: unknown encoding name - ex=utf-8 (RuntimeError)

如何设置这个选项?

This reference没有 -Eex 选项。

更新:

我已经学会了。无需打印那个 ex。只是 -Eutf-8:cp866

C:\ruby\sbox>ruby -W3 -Eutf-8:cp866 gserver.rb text.txt

最佳答案

还有 -K 选项,它似乎比 -E 选项更适合我。它将设置内部(脚本)和外部编码。 ruby(1) 手册页指出:

  -K kcode
Specifies KANJI (Japanese) encoding. The default value for
script encodings ("__ENCODING__") and external encodings
("Encoding.default_external") will be the specified one. kcode
can be one of

e EUC-JP


s Windows-31J (CP932)


u UTF-8


n ASCII-8BIT (BINARY)

为了运行我的 wiki,我使用:

$ ruby -Ku wiki.rb

我的 ruby​​ wiki 源文件都是 ASCII,但有时当我从网上复制粘贴到我的 wiki 时,有些字符是 UTF-8。如果不设置 -K 选项,我的 wiki 的某些页面会出现“ArgumentError - US-ASCII 中的无效字节序列”。

但是

$ ruby -Eutf-8 wiki.rb

也有效。

关于Ruby:如何在命令行中指定文件的字符编码(-Eex[:in] 选项)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15120955/

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