使用字符串#编码代替iconv的Ruby EBCDIC转换

使用字符串#编码代替iconv的Ruby EBCDIC转换,ruby,encode,iconv,ebcdic,Ruby,Encode,Iconv,Ebcdic,我过去习惯于用以下方法做得很好: Iconv.iconv('ASCII', 'EBCDIC-US', someEBCDICstring) 从ruby 1.9开始,我得到了这样的警告: iconv will be deprecated in the future, use String#encode instead. 但我找不到EBCDIC或cp37、cp500、cp875的任何参考资料。。。在编码类中: p Encoding.name_list 我应该从什么地方进口吗?我可以自己添加吗?您

我过去习惯于用以下方法做得很好:

Iconv.iconv('ASCII', 'EBCDIC-US', someEBCDICstring)
从ruby 1.9开始,我得到了这样的警告:

iconv will be deprecated in the future, use String#encode instead.
但我找不到EBCDIC或cp37、cp500、cp875的任何参考资料。。。在编码类中:

p Encoding.name_list

我应该从什么地方进口吗?我可以自己添加吗?

您仍然可以使用宝石-

(以下是文件-)

这对我有用

# set up translation to EBCDIC
trsl = Iconv.new('EBCDIC-US','ASCII')

# translate value
ebcdic = trsl.iconv(somestring)
在:

编码

新编码::IBM037(别名ebcdic cp us;虚拟)

因此,这应该是可行的:

str = 'xx'
str.encode('IBM037')
str = 'xx'
str.encode('IBM037')