Windows-1256

Windows-1256, znane także jako CP-1256, bądź WinArabic, jest 8-bitowym kodowaniem znaków zaprojektowanym do pokrycia języka arabskiego (i prawdopodobnie innych języków używających alfabetu arabskiego). Ten zestaw nie jest w pełni zgodny z ISO 8859-6.

Kodowanie to jest używane w systemie operacyjnym Microsoft Windows.

Porównanie z ISO 8859-6

[edytuj | edytuj kod]
Porównanie kodowań
Hex CP-1256 ISO 8859-6 Hex CP-1256 ISO 8859-6 Hex CP-1256 ISO 8859-6 Hex CP-1256 ISO 8859-6
0x80 ZK 0xA0   0xC0 ہ NZ 0xE0 à ـ
0x81 پ ZK 0xA1 ، NZ 0xC1 ء 0xE1 ل ف
0x82 ZK 0xA2 ¢ NZ 0xC2 آ 0xE2 â ق
0x83 ƒ ZK 0xA3 £ NZ 0xC3 أ 0xE3 م ك
0x84 ZK 0xA4 ¤ 0xC4 ؤ 0xE4 ن ل
0x85 ZK 0xA5 ¥ NZ 0xC5 إ 0xE5 ه م
0x86 ZK 0xA6 ¦ NZ 0xC6 ئ 0xE6 و ن
0x87 ZK 0xA7 § NZ 0xC7 ا 0xE7 ç ه
0x88 ˆ ZK 0xA8 ¨ NZ 0xC8 ب 0xE8 è و
0x89 ZK 0xA9 © NZ 0xC9 ة 0xE9 é ى
0x8A ٹ ZK 0xAA ھ NZ 0xCA ت 0xEA ê ي
0x8B ZK 0xAB « NZ 0xCB ث 0xEB ë ◌ً
0x8C Œ ZK 0xAC ¬ ، 0xCC ج 0xEC ى ◌ٌ
0x8D چ ZK 0xAD 0xCD ح 0xED ي ◌ٍ
0x8E ژ ZK 0xAE ® NZ 0xCE خ 0xEE î ◌َ
0x8F ڈ ZK 0xAF ¯ NZ 0xCF د 0xEF ï ◌ُ
0x90 گ ZK 0xB0 ° NZ 0xD0 ذ 0xF0 ◌ً ◌ِ
0x91 ZK 0xB1 ± NZ 0xD1 ر 0xF1 ◌ٌ ◌ّ
0x92 ZK 0xB2 ² NZ 0xD2 ز 0xF2 ◌ٍ ◌ْ
0x93 ZK 0xB3 ³ NZ 0xD3 س 0xF3 ◌َ NZ
0x94 ZK 0xB4 ´ NZ 0xD4 ش 0xF4 ô NZ
0x95 ZK 0xB5 µ NZ 0xD5 ص 0xF5 ◌ُ NZ
0x96 ZK 0xB6 NZ 0xD6 ض 0xF6 ◌ِ NZ
0x97 ZK 0xB7 · NZ 0xD7 × ط 0xF7 ÷ NZ
0x98 ک ZK 0xB8 ¸ NZ 0xD8 ط ظ 0xF8 ◌ّ NZ
0x99 ZK 0xB9 ¹ NZ 0xD9 ظ ع 0xF9 ù NZ
0x9A ڑ ZK 0xBA ؛ NZ 0xDA ع غ 0xFA ◌ْ NZ
0x9B ZK 0xBB » ؛ 0xDB غ NZ 0xFB û NZ
0x9C œ ZK 0xBC ¼ NZ 0xDC ـ NZ 0xFC ü NZ
0x9D ZK 0xBD ½ NZ 0xDD ف NZ 0xFD NZ
0x9E ZK 0xBE ¾ NZ 0xDE ق NZ 0xFE NZ
0x9F ں ZK 0xBF ؟ 0xDF ك NZ 0xFF ے NZ

Gdzie:

  • NZ” oznacza znak niezdefiniowany w kodowaniu
  • ZK” oznacza znak kontrolny
  • Znak” oznacza znak wspólny dla obydwu kodowań
  • ” to łączony znak diakrytyczny
  •    ” to kontrolny znak formatujący o zerowej szerokości

Tablica kodów

[edytuj | edytuj kod]

Poniższa tabela przedstawia znaki i ich szesnastkowe kody w Windows-1256.

Windows-1256
  x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF
0x Znaki kontrolne
1x
2x SP ! " # $ % & ' ( ) * + Przecinek, - . /
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 { | } ~ ZK
8x پ ƒ ˆ ٹ Œ چ ژ ڈ
9x گ ک ڑ œ ZWNJ ZWJ ں
Ax NBSP ، ¢ £ ¤ ¥ ¦ § ¨ © ھ « ¬ SHY ® ¯
Bx ° ± ² ³ ´ µ · ¸ ¹ ؛ » ¼ ½ ¾ ؟
Cx ہ ء آ أ ؤ إ ئ ا ب ة ت ث ج ح خ د
Dx ذ ر ز س ش ص ض × ط ظ ع غ ـ ف ق ك
Ex à ل â م ن ه و ç è é ê ë ى ي î ï
Fx ◌ً ◌ٌ ◌ٍ ◌َ ô ◌ُ ◌ِ ÷ ◌ّ ù ◌ْ û ü LRM RLM ے

W powyższej tabeli znak o kodzie 0x20 to zwykła spacja, 0xA0 to twarda spacja, znak 0xAD to miękki dywiz, 0x9D to rozłącznik o zerowej szerokości, 0x9E to łącznik o zerowej szerokości, znak o kodzie 0xFD to znak „od lewej do prawej” (left-to-right; U+200E), a znak o kodzie 0xFE to znak „od prawej do lewej” (right-to-left; U+200F).

Mapowanie na Unicode

[edytuj | edytuj kod]

Poniższa tabela przedstawia miejsca znaków z Windows-1256 w Unikodzie.

Windows-1256
Hex Znak Unicode Hex Znak Unicode Hex Znak Unicode Hex Znak Unicode
0x80 U+20AC 0xA0 NBSP U+00A0 0xC0 ہ U+06C1 0xE0 à U+00E0
0x81 پ U+067E 0xA1 ، U+060C 0xC1 ء U+0621 0xE1 ل U+0644
0x82 U+201A 0xA2 ¢ U+00A2 0xC2 آ U+0622 0xE2 â U+00E2
0x83 ƒ U+0192 0xA3 £ U+00A3 0xC3 أ U+0623 0xE3 م U+0645
0x84 U+201E 0xA4 ¤ U+00A4 0xC4 ؤ U+0624 0xE4 ن U+0646
0x85 U+2026 0xA5 ¥ U+00A5 0xC5 إ U+0625 0xE5 ه U+0647
0x86 U+2020 0xA6 ¦ U+00A6 0xC6 ئ U+0626 0xE6 و U+0648
0x87 U+2021 0xA7 § U+00A7 0xC7 ا U+0627 0xE7 ç U+00E7
0x88 ˆ U+02C6 0xA8 ¨ U+00A8 0xC8 ب U+0628 0xE8 è U+00E8
0x89 U+2030 0xA9 © U+00A9 0xC9 ة U+0629 0xE9 é U+00E9
0x8A ٹ U+0679 0xAA ھ U+06BE 0xCA ت U+062A 0xEA ê U+00EA
0x8B U+2039 0xAB « U+00AB 0xCB ث U+062B 0xEB ë U+00EB
0x8C Œ U+0152 0xAC ¬ U+00AC 0xCC ج U+062C 0xEC ى U+0649
0x8D چ U+0686 0xAD SHY U+00AD 0xCD ح U+062D 0xED ي U+064A
0x8E ژ U+0698 0xAE ® U+00AE 0xCE خ U+062E 0xEE î U+00EE
0x8F ڈ U+0688 0xAF ¯ U+00AF 0xCF د U+062F 0xEF ï U+00EF
0x90 گ U+06AF 0xB0 ° U+00B0 0xD0 ذ U+0630 0xF0 ◌ً U+064B
0x91 U+2018 0xB1 ± U+00B1 0xD1 ر U+0631 0xF1 ◌ٌ U+064C
0x92 U+2019 0xB2 ² U+00B2 0xD2 ز U+0632 0xF2 ◌ٍ U+064D
0x93 U+201C 0xB3 ³ U+00B3 0xD3 س U+0633 0xF3 ◌َ U+064E
0x94 U+201D 0xB4 ´ U+00B4 0xD4 ش U+0634 0xF4 ô U+00F4
0x95 U+2022 0xB5 µ U+00B5 0xD5 ص U+0635 0xF5 ◌ُ U+064F
0x96 U+2013 0xB6 U+00B6 0xD6 ض U+0636 0xF6 ◌ِ U+0650
0x97 U+2014 0xB7 · U+00B7 0xD7 × U+00D7 0xF7 ÷ U+00F7
0x98 ک U+06A9 0xB8 ¸ U+00B8 0xD8 ط U+0637 0xF8 ◌ّ U+0651
0x99 U+2122 0xB9 ¹ U+00B9 0xD9 ظ U+0638 0xF9 ù U+00F9
0x9A ڑ U+0691 0xBA ؛ U+061B 0xDA ع U+0639 0xFA ◌ْ U+0652
0x9B U+203A 0xBB » U+00BB 0xDB غ U+063A 0xFB û U+00FB
0x9C œ U+0153 0xBC ¼ U+00BC 0xDC ـ U+0640 0xFC ü U+00FC
0x9D ZWNJ U+200C 0xBD ½ U+00BD 0xDD ف U+0641 0xFD LRM U+200E
0x9E ZWJ U+200D 0xBE ¾ U+00BE 0xDE ق U+0642 0xFE RLM U+200F
0x9F ں U+06BA 0xBF ؟ U+061F 0xDF ك U+0643 0xFF ے U+06D2

Linki zewnętrzne

[edytuj | edytuj kod]