All Tools
Tools/Character Encoding Converter
🔤
EncodingAvailable

Character Encoding Converter

Convert between ASCII, EBCDIC (IBM Code Page 037), and hex. Payment mainframes and legacy HSMs encode data in EBCDIC — digits become 0xF0–0xF9 instead of 0x30–0x39.

About EBCDIC (CP037)

EBCDIC (Extended Binary Coded Decimal Interchange Code) is an 8-bit character encoding developed by IBM for mainframes and mid-range systems. It is completely different from ASCII — the same byte value means a different character in each encoding.

  • Digits: In EBCDIC, digits 0–9 map to bytes 0xF0–0xF9 (not ASCII 0x30–0x39). This is a common source of bugs when porting legacy payment code.
  • Letters: Uppercase A–I are 0xC1–0xC9; J–R are 0xD1–0xD9; S–Z are 0xE2–0xE9. Lowercase follows similar discontiguous ranges.
  • Gaps: The EBCDIC alphabet has gaps — bytes between letters do not map to printable characters, unlike ASCII's contiguous layout.
  • Payment usage: ISO 8583 mainframe implementations, HSM command/response buffers, legacy clearing files, and SWIFT FIN messages on IBM platforms all commonly use EBCDIC.
  • Code page 037: The standard US EBCDIC variant used for North American payment processing.