我以前做得很好:
Iconv.iconv('ASCII', 'EBCDIC-US', someEBCDICstring)
因为ruby 1.9我得到了警告:
iconv will be deprecated in the future, use String#encode instead.
但我在Encoding类中找不到任何EBCDIC或cp37,cp500,cp875 ...的参考:
p Encoding.name_list
我应该从某个地方导入它吗?我可以自己添加吗?
答案 0 :(得分:1)
您仍然可以使用gem - https://rubygems.org/gems/iconv
答案 1 :(得分:0)
require 'iconv' # sudo apt-get install ruby-dev && sudo gem install iconv
这对我有用......
# set up translation to EBCDIC
trsl = Iconv.new('EBCDIC-US','ASCII')
# translate value
ebcdic = trsl.iconv(somestring)
答案 2 :(得分:0)
在Ruby 2.3 the EBCDIC-encoding is added中:
编码
新编码:: IBM037(别名ebcdic-cp-us;虚拟)
所以这应该起作用:
str = 'xx'
str.encode('IBM037')