# Windows-1256

Windows-1256 is a code page used under Microsoft Windows to write Arabic and other languages that use Arabic script, such as Persian and Urdu.
This code page is neither compatible with ISO/IEC 8859-6 nor the MacArabic encoding.
Windows-1256 encodes every abstract single letter of the basic Arabic alphabet, not every concrete visual form of isolated, initial, medial, final or ligatured letter shape variants (i.e. it encodes characters, not glyphs). The Arabic letters in the C0-FF range are in Arabic alphabetic order, but some Latin characters are interspersed among them. These are some Windows-1252 Latin characters used for French, since this European language has some historic relevance in former French colonies in North Africa such as Morocco and Algeria. This allowed French and Arabic text to be intermixed when using Windows-1256 without any need for code-page switching (however, upper-case letters with diacritics were not included).
IBM uses code page 1256 (CCSID 1256, euro sign extended CCSID 5352, and the further extended CCSID 9448 for some letters used in modern Persian and Urdu) for Windows-1256.
Unicode is preferred over Windows-1256 in modern applications, especially on the Internet, where the dominant UTF-8 encoding is most used for web pages, including for Arabic (see also Arabic script in Unicode, for complete coverage, unlike for e.g. Windows-1256 or ISO/IEC 8859-6 that do not cover extras). Less than 0.03% of all web pages use Windows-1256 in October 2022, and while that encoding is mostly used for Arabic, and second-most popular for it, it is only used for 1.6% of the Arabic text on the web.

## Character set

Since the original code page left 9 byte values marked as "NOT USED" in the original specification (hexadecimal 0x80, 0x8A, 0x8F, 0x98, 0x9A, 0x9F, 0xAA, 0xC0, and 0xFF), these bytes were used later for the euro sign, and for additional letters in the Perso-Arabic script (for the Persian and Urdu languages).
The following table shows the extended version of Windows-1256. Each character is shown with its Unicode equivalent and its decimal code.
Here every Arabic letter is shown in isolated form. The actual forms of the letters inside Arabic words are rendered by a combination of software rules and appropriate font support.
Windows-1256 :
| | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
| 0x | NUL | SOH | STX | ETX | EOT | ENQ | ACK | BEL | BS | HT | LF | VT | FF | CR | SO | SI |
| 1x | DLE | DC1 | DC2 | DC3 | DC4 | NAK | SYN | ETB | CAN | EM | SUB | ESC | FS | GS | RS | US |
| 2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
| 3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
| 4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
| 5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ^ | _ |
| 6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
| 7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | DEL |
| 8x | € | پ | ‚ | ƒ | „ | … | † | ‡ | ˆ | ‰ | ٹ | ‹ | Œ | چ | ژ | ڈ |
| 9x | گ | ‘ | ’ | “ | ” | • | – | — | ک | ™ | ڑ | › | œ | ZWNJ | ZWJ | ں |
| Ax | NBSP | ، | ¢ | £ | ¤ | ¥ | ¦ | § | ¨ | © | ھ | « | ¬ | SHY | ® | ¯ |
| Bx | ° | ± | ² | ³ | ´ | µ | ¶ | · | ¸ | ¹ | ؛ | » | ¼ | ½ | ¾ | ؟ |
| Cx | ہ | ء | آ | أ | ؤ | إ | ئ | ا | ب | ة | ت | ث | ج | ح | خ | د |
| Dx | ذ | ر | ز | س | ش | ص | ض | × | ط | ظ | ع | غ | ـ | ف | ق | ك |
| Ex | à | ل | â | م | ن | ه | و | ç | è | é | ê | ë | ى | ي | î | ï |
| Fx | ً | ٌ | ٍ | َ | ô | ُ | ِ | ÷ | ّ | ù | ْ | û | ü | LRM | RLM | ے |