我希望我的脚本能够从stdin获取输入,其中数据可能以UTF8或UTF16编码提供。
类似的东西:
datasource | my-script -e utf8
如何设置stdin的external_encoding?
答案 0 :(得分:1)
在您将ruby
定义为解释器的first line of the script中,您可以添加--encoding utf-8
参数,以便指定stdin编码。
#!/usr/bin/env ruby --encoding utf-8
text = ARGF.read
man ruby
:-E external[:internal] --encoding external[:internal] Specifies the default value(s) for external encodings and internal encoding. Values should be separated with colon (:). You can omit the one for internal encodings, then the value (Encoding.default_internal) will be nil.