Back to Character Encoding

Windows-1255 Windows-1255 (CP-1255, Hebrew) Windows Code Pages

The Windows-native Hebrew code page — like ISO-8859-8, doesn't handle right-to-left text direction, which remains a separate rendering concern.

What it is

Windows-1255 is Microsoft's Hebrew code page, the Windows-native counterpart to ISO-8859-8. As with the ISO variant, character encoding handles which letters are present, while right-to-left text direction and bidirectional layout are entirely separate rendering-layer concerns that neither encoding addresses on its own.

Byte structure

Byte range Content
0x00–0x7F Identical to ASCII
0x80–0x9F Printable characters (curly quotes, dashes)
0xA0–0xFF Hebrew letters and symbols, largely shared with ISO-8859-8

Why your text is garbled (symptom → cause)

Symptom Likely cause
Hebrew text unreadable Windows-1255 vs. ISO-8859-8 or another encoding mismatch
Correctly decoded Hebrew text displays in wrong reading order Bidirectional text rendering issue, not an encoding problem

Compatibility & gotchas

  • The Windows-native counterpart to ISO-8859-8, more commonly deployed on Windows systems for Hebrew text historically.
  • Bidirectional rendering remains a separate concern — same caveat as ISO-8859-8; correct decoding doesn't guarantee correct display order for mixed Hebrew/Latin content.

Fixing it

  • Command-line conversion: iconv -f WINDOWS-1255 -t UTF-8 input.txt -o output.txt

Comparison

Encoding Key difference from Windows-1255
ISO-8859-8 Same base Hebrew letter coverage, differs in the 0x80–0x9F range
UTF-8 Full Unicode coverage; modern rendering stacks generally have better bidi support

FAQ

Does Windows-1255 handle Hebrew text direction automatically?

No — like ISO-8859-8, it only encodes which characters are present. Right-to-left rendering and bidirectional layout require separate support in the display/rendering layer.

Fun fact

Hebrew and Arabic both needed the Unicode Bidirectional Algorithm to properly standardize mixed-direction text handling — a problem neither Windows-1255 nor ISO-8859-8 attempted to solve, since both predate that later, more comprehensive approach to the underlying rendering challenge.