Skip to content

NervaPack v0.7.3 — multi-codepage EBCDIC detection

Choose a tag to compare

@ramdhavepreetam ramdhavepreetam released this 05 Aug 16:30
· 15 commits to master since this release

Smarter EBCDIC auto-detection

Follow-up to v0.7.2's EBCDIC support: auto-detection now tries multiple code pages instead of always assuming cp037.

Changed

  • When EBCDIC is detected, NervaPack decodes with cp037, cp500, and cp1140 and keeps the result that looks most like program source (scored by letters/digits/punctuation).
  • This correctly handles members using the [ ] | ! operators, which are ASCII in cp500 but non-ASCII symbols in cp037.
  • The pages are identical for A-Z/0-9/common punctuation, so plain source ties and falls back to cp037 — the default is unchanged.
  • NERVAPACK_EBCDIC=<codec> still forces a specific page (e.g. cp273), and off disables EBCDIC.

Upgrade

pip install -U nervapack   # 0.7.3

Docs: https://github.com/ramdhavepreetam/NervaPack/blob/master/docs/user-guide/concepts/ibm-i-languages.md#ebcdic-encoded-members
PyPI: https://pypi.org/project/nervapack/0.7.3/