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.

Windows-1256
MIME / IANAwindows-1256
Alias(es)cp1256 (Code page 1256)
Language(s)Arabic, Persian, Urdu, English, French (except capital letters with diacritics)
Created byMicrosoft
StandardWHATWG Encoding Standard
Classificationextended ASCII, Windows-125x

This code page is neither compatible with ISO-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 Windows-1256.[1][2][3][4]

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-8859-6 that do not cover extras). Less than 0.03% of all web pages use Windows-1256 in October 2022,[5][6] 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

edit

Since the original code page left 9 values (bytes) marked as "NOT USED" in the original specification,[7] these bytes were used later for additional characters needed for the Perso-Arabic script (for the Persian and Urdu languages), plus the euro sign.[8]

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[8][9][10][11][12][13][14]
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 ے
  Differences from Windows-1252

See also

edit

References

edit
  1. ^ "Code page 1256 information document". Archived from the original on 2016-03-03.
  2. ^ "CCSID 1256 information document". Archived from the original on 2016-03-27.
  3. ^ "CCSID 5352 information document". Archived from the original on 2014-11-29.
  4. ^ "CCSID 9448 information document". Archived from the original on 2014-11-29.
  5. ^ "Historical trends in the usage of character encodings for websites, October 2022". w3techs.com.
  6. ^ "Frequently Asked Questions". w3techs.com.
  7. ^ Archiveddocs. "Code Page 1256 Windows Arabic". docs.microsoft.com.
  8. ^ a b "cp1256 to Unicode table" (PDF). www.unicode.org. Retrieved 2019-05-31.
  9. ^ Unicode mappings of windows 1256 with "best fit"
  10. ^ Code Page CPGID 01256 (pdf) (PDF), IBM
  11. ^ Code Page CPGID 01256 (txt), IBM
  12. ^ International Components for Unicode (ICU), ibm-1256_P110-1997.ucm, 2002-12-03
  13. ^ International Components for Unicode (ICU), ibm-5352_P100-1998.ucm, 2002-12-03
  14. ^ International Components for Unicode (ICU), ibm-9448_X100-2005.ucm, 2005-11-15
edit