/ / Jak wykonać tłumaczenie ASCII na EBCDIC w Ruby? - ruby, kodowanie, jruby, ebcdic

Jak wykonać ASCII do tłumaczenia EBCDIC w Ruby? - ruby, kodowanie, jrubowy, ebcdic

Używam Ruby 1.8.7 na Mac OS X.

Jak przekonwertować kodowanie ASCII na kodowanie EBCDIC, aby komunikować się ze starszym systemem. Czy musiałbym używać do jruby?

Odpowiedzi:

2 dla odpowiedzi № 1

Możesz uaktualnić, ale to niekoniecznie rozwiązuje problem.

Istnieje wiele odmian EBCDIC (DZIĘKUJEMY IBM!), Więc musisz zidentyfikować podzbiór, którego używa Twój komputer mainframe.

Jedna rzecz, której nauczyłem się robić podczas programowania namainframe, o tak wiele lat temu, miał zadzwonić do niektórych sysopsów z komputerów mainframe i wybrać ich mózgi. Zajmują się konwersją z innych zestawów kodowych na EBCDIC przez cały dzień i prawdopodobnie mają narzędzie, które może to zrobić w locie.

Alternatywą byłoby sprawdzenie, czy mają coś, co może przeanalizować JSON lub YAML. Przekonwertuj swój tekst na utf-8, wyślij go do komputera mainframe, niech jego tłumacz skonwertuje utf-8 na EBCDIC.


1 dla odpowiedzi nr 2

Powinieneś użyć Rubiego biblioteka iconv (dla wersji Ruby przed 2.0) lub iconv klejnot (dla Ruby 2+) określając EBCDIC-US jako zestaw kodowy:

irb(main):001:0> require("iconv")
=> true
irb(main):002:0> x=Iconv.new("EBCDIC-US","ASCII")
=> #<Iconv:0x7fb4274d88d8>
irb(main):003:0> x.iconv("foo")
=> "206226226"