Jump to content

Windows-1252

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by William Surya Permana (talk | contribs) at 09:18, 27 July 2020 (→‎Character set). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Windows-1252
MIME / IANAwindows-1252[1]
Language(s)Basically all supported by ISO/IEC 8859-1 e.g. English, Irish, Italian, Norwegian, Portuguese, Spanish, Swedish. Plus also German, Finnish and French. And Dutch except the IJ character.
Created byMicrosoft
StandardWHATWG Encoding Standard
Classificationextended ASCII, Windows-125x
ExtendsISO 8859-1 (excluding C1 controls)
Transforms / EncodesISO 8859-15

Windows-1252 or CP-1252 (code page 1252) is a single-byte character encoding of the Latin alphabet, used by default in the legacy components of Microsoft Windows for English and many European languages such as Spanish, French, and German.

It is the most-used single-byte character encoding in the world (especially if you include the compatible ASCII and ISO-8859-1 encodings). As of July 2020, 0.4% of all web sites declared use of Windows-1252,[2][3] but at the same time 2.0%[2] used ISO 8859-1 (while only 0.7% of top-1000 websites[4]), which by HTML5 standards should be considered the same encoding,[5] so that 2.4% of web sites effectively use Windows-1252.

Details

This character encoding is a superset of ISO 8859-1 in terms of printable characters, but differs from the IANA's ISO-8859-1 by using displayable characters rather than control characters in the 80 to 9F (hex) range. Notable additional characters include curly quotation marks and all the printable characters that are in ISO 8859-15 (at different places than ISO 8859-15). It is known to Windows by the code page number 1252, and by the IANA-approved name "windows-1252".

It is very common to mislabel Windows-1252 text with the charset label ISO-8859-1. A common result was that all the quotes and apostrophes (produced by "smart quotes" in word-processing software) were replaced with question marks or boxes on non-Windows operating systems, making text difficult to read. Most modern web browsers and e-mail clients treat the media type charset ISO-8859-1 as Windows-1252 to accommodate such mislabeling. This is now standard behavior in the HTML5 specification, which requires that documents advertised as ISO-8859-1 actually be parsed with the Windows-1252 encoding.[5]

Historically, the phrase "ANSI Code Page" was used in Windows to refer to non-DOS encodings; the intention was that most of these would be ANSI standards such as ISO-8859-1. Even though Windows-1252 was the first and by far most popular code page named so in Microsoft Windows parlance, the code page has never been an ANSI standard. Microsoft explains, "The term ANSI as used to signify Windows code pages is a historical reference, but is nowadays a misnomer that continues to persist in the Windows community."[6]

In LaTeX packages, CP-1252 is referred to as "ansinew".

IBM uses code page 1252 (CCSID 1252 and euro sign extended CCSID 5348) for Windows-1252.[7][8][9]

Character set

The following table shows Windows-1252. Each character is shown with its Unicode equivalent based on the Unicode.org mapping of Windows-1252 with "best fit". The decimal numbers are the Alt code that can be used to type these on Windows systems.

Windows-1252 (CP1252)[10][11][12][13][14]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
Template:Chset-color-ctrl|NUL
0000
0
Template:Chset-color-ctrl|SOH
0001
01
Template:Chset-color-ctrl|STX
0002
02
Template:Chset-color-ctrl|ETX
0003
03
Template:Chset-color-ctrl|EOT
0004
04
Template:Chset-color-ctrl|ENQ
0005
05
Template:Chset-color-ctrl|ACK
0006
06
Template:Chset-color-ctrl|BEL
0007
07
Template:Chset-color-ctrl|BS
0008
08
Template:Chset-color-ctrl|HT
0009
09
Template:Chset-color-ctrl|LF
000A
010
Template:Chset-color-ctrl|VT
000B
011
Template:Chset-color-ctrl|FF
000C
012
Template:Chset-color-ctrl|CR
000D
013
Template:Chset-color-ctrl|SO
000E
014
Template:Chset-color-ctrl|SI
000F
015
1_
16
Template:Chset-color-ctrl|DLE
0010
016
Template:Chset-color-ctrl|DC1
0011
017
Template:Chset-color-ctrl|DC2
0012
018
Template:Chset-color-ctrl|DC3
0013
019
Template:Chset-color-ctrl|DC4
0014
020
Template:Chset-color-ctrl|NAK
0015
021
Template:Chset-color-ctrl|SYN
0016
022
Template:Chset-color-ctrl|ETB
0017
023
Template:Chset-color-ctrl|CAN
0018
024
Template:Chset-color-ctrl|EM
0019
025
Template:Chset-color-ctrl|SUB
001A
026
Template:Chset-color-ctrl|ESC
001B
027
Template:Chset-color-ctrl|FS
001C
028
Template:Chset-color-ctrl|GS
001D
029
Template:Chset-color-ctrl|RS
001E
030
Template:Chset-color-ctrl|US
001F
031
2_
32
Template:Chset-color-misc|SP
0020
32
Template:Chset-color-punct|!
0021
33
Template:Chset-color-punct|"
0022
34
Template:Chset-color-punct|#
0023
35
Template:Chset-color-graph|$
0024
36
Template:Chset-color-punct|%
0025
37
Template:Chset-color-punct|&
0026
38
Template:Chset-color-punct|'
0027
39
Template:Chset-color-punct|(
0028
40
Template:Chset-color-punct|)
0029
41
Template:Chset-color-punct|*
002A
42
Template:Chset-color-graph|+
002B
43
Template:Chset-color-punct|,
002C
44
Template:Chset-color-punct|-
002D
45
Template:Chset-color-punct|.
002E
46
Template:Chset-color-punct|/
002F
47
3_
48
Template:Chset-color-digit|0
0030
48
Template:Chset-color-digit|1
0031
49
Template:Chset-color-digit|2
0032
50
Template:Chset-color-digit|3
0033
51
Template:Chset-color-digit|4
0034
52
Template:Chset-color-digit|5
0035
53
Template:Chset-color-digit|6
0036
54
Template:Chset-color-digit|7
0037
55
Template:Chset-color-digit|8
0038
56
Template:Chset-color-digit|9
0039
57
Template:Chset-color-punct|:
003A
58
Template:Chset-color-punct|;
003B
59
Template:Chset-color-graph|<
003C
60
Template:Chset-color-graph|=
003D
61
Template:Chset-color-graph|>
003E
62
Template:Chset-color-punct|?
003F
63
4_
64
Template:Chset-color-punct|@
0040
64
Template:Chset-color-letter|A
0041
65
Template:Chset-color-letter|B
0042
66
Template:Chset-color-letter|C
0043
67
Template:Chset-color-letter|D
0044
68
Template:Chset-color-letter|E
0045
69
Template:Chset-color-letter|F
0046
70
Template:Chset-color-letter|G
0047
71
Template:Chset-color-letter|H
0048
72
Template:Chset-color-letter|I
0049
73
Template:Chset-color-letter|J
004A
74
Template:Chset-color-letter|K
004B
75
Template:Chset-color-letter|L
004C
76
Template:Chset-color-letter|M
004D
77
Template:Chset-color-letter|N
004E
78
Template:Chset-color-letter|O
004F
79
5_
80
Template:Chset-color-letter|P
0050
80
Template:Chset-color-letter|Q
0051
81
Template:Chset-color-letter|R
0052
82
Template:Chset-color-letter|S
0053
83
Template:Chset-color-letter|T
0054
84
Template:Chset-color-letter|U
0055
85
Template:Chset-color-letter|V
0056
86
Template:Chset-color-letter|W
0057
87
Template:Chset-color-letter|X
0058
88
Template:Chset-color-letter|Y
0059
89
Template:Chset-color-letter|Z
005A
90
Template:Chset-color-punct|[
005B
91
Template:Chset-color-punct|\
005C
92
Template:Chset-color-punct|]
005D
93
Template:Chset-color-graph|^
005E
94
Template:Chset-color-punct|_
005F
95
6_
96
Template:Chset-color-graph|`
0060
96
Template:Chset-color-letter|a
0061
97
Template:Chset-color-letter|b
0062
98
Template:Chset-color-letter|c
0063
99
Template:Chset-color-letter|d
0064
100
Template:Chset-color-letter|e
0065
101
Template:Chset-color-letter|f
0066
102
Template:Chset-color-letter|g
0067
103
Template:Chset-color-letter|h
0068
104
Template:Chset-color-letter|i
0069
105
Template:Chset-color-letter|j
006A
106
Template:Chset-color-letter|k
006B
107
Template:Chset-color-letter|l
006C
108
Template:Chset-color-letter|m
006D
109
Template:Chset-color-letter|n
006E
110
Template:Chset-color-letter|o
006F
111
7_
112
Template:Chset-color-letter|p
0070
112
Template:Chset-color-letter|q
0071
113
Template:Chset-color-letter|r
0072
114
Template:Chset-color-letter|s
0073
115
Template:Chset-color-letter|t
0074
116
Template:Chset-color-letter|u
0075
117
Template:Chset-color-letter|v
0076
118
Template:Chset-color-letter|w
0077
119
Template:Chset-color-letter|x
0078
120
Template:Chset-color-letter|y
0079
121
Template:Chset-color-letter|z
007A
122
Template:Chset-color-punct|{
007B
123
Template:Chset-color-graph||
007C
124
Template:Chset-color-punct|}
007D
125
Template:Chset-color-graph|~
007E
126
Template:Chset-color-ctrl|DEL
007F
0127
8_
128
Template:Chset-color-graph-box|
20AC
0128
Template:Chset-color-undef Template:Chset-color-punct-box|
201A
0130
Template:Chset-color-letter-box|ƒ
0192
0131
Template:Chset-color-punct-box|
201E
0132
Template:Chset-color-punct-box|
2026
0133
Template:Chset-color-punct-box|
2020
0134
Template:Chset-color-punct-box|
2021
0135
Template:Chset-color-letter-box|ˆ
02C6
0136
Template:Chset-color-punct-box|
2030
0137
Template:Chset-color-letter-box|Š
0160
0138
Template:Chset-color-punct-box|
2039
0139
Template:Chset-color-letter-box|Œ
0152
0140
Template:Chset-color-undef Template:Chset-color-letter-box|Ž
017D
0142
Template:Chset-color-undef
9_
144
Template:Chset-color-undef Template:Chset-color-punct-box|
2018
0145
Template:Chset-color-punct-box|
2019
0146
Template:Chset-color-punct-box|
201C
0147
Template:Chset-color-punct-box|
201D
0148
Template:Chset-color-punct-box|
2022
0149
Template:Chset-color-punct-box|
2013
0150
Template:Chset-color-punct-box|
2014
0151
Template:Chset-color-graph-box|˜ 
02DC
0152
Template:Chset-color-graph-box|
2122
0153
Template:Chset-color-letter-box|š
0161
0154
Template:Chset-color-punct-box|
203A
0155
Template:Chset-color-letter-box|œ
0153
0156
Template:Chset-color-undef Template:Chset-color-letter-box|ž
017E
0158
Template:Chset-color-letter-box|Ÿ
0178
0159
A_
160
Template:Chset-color-misc|NBSP
00A0
0160
Template:Chset-color-punct|¡
00A1
0161
Template:Chset-color-graph|¢
00A2
0162
Template:Chset-color-graph|£
00A3
0163
Template:Chset-color-graph|¤
00A4
0164
Template:Chset-color-graph|¥
00A5
0165
Template:Chset-color-graph|¦
00A6
0166
Template:Chset-color-punct|§
00A7
0167
Template:Chset-color-graph|¨
00A8
0168
Template:Chset-color-graph|©
00A9
0169
Template:Chset-color-letter|ª
00AA
0170
Template:Chset-color-punct|«
00AB
0171
Template:Chset-color-graph|¬
00AC
0172
Template:Chset-color-ctrl|SHY
00AD
0173
Template:Chset-color-graph|®
00AE
0174
Template:Chset-color-graph|¯
00AF
0175
B_
176
Template:Chset-color-graph|°
00B0
0176
Template:Chset-color-graph|±
00B1
0177
Template:Chset-color-digit|²
00B2
0178
Template:Chset-color-digit|³
00B3
0179
Template:Chset-color-graph|´
00B4
0180
Template:Chset-color-letter|µ
00B5
0181
Template:Chset-color-punct|
00B6
0182
Template:Chset-color-punct|·
00B7
0183
Template:Chset-color-graph|¸
00B8
0184
Template:Chset-color-digit|¹
00B9
0185
Template:Chset-color-letter|º
00BA
0186
Template:Chset-color-punct|»
00BB
0187
Template:Chset-color-digit|¼
00BC
0188
Template:Chset-color-digit|½
00BD
0189
Template:Chset-color-digit|¾
00BE
0190
Template:Chset-color-punct|¿
00BF
0191
C_
192
Template:Chset-color-letter|À
00C0
0192
Template:Chset-color-letter|Á
00C1
0193
Template:Chset-color-letter|Â
00C2
0194
Template:Chset-color-letter|Ã
00C3
0195
Template:Chset-color-letter|Ä
00C4
0196
Template:Chset-color-letter|Å
00C5
0197
Template:Chset-color-letter|Æ
00C6
0198
Template:Chset-color-letter|Ç
00C7
0199
Template:Chset-color-letter|È
00C8
0200
Template:Chset-color-letter|É
00C9
0201
Template:Chset-color-letter|Ê
00CA
0202
Template:Chset-color-letter|Ë
00CB
0203
Template:Chset-color-letter|Ì
00CC
0204
Template:Chset-color-letter|Í
00CD
0205
Template:Chset-color-letter|Î
00CE
0206
Template:Chset-color-letter|Ï
00CF
0207
D_
208
Template:Chset-color-letter|Ð
00D0
0208
Template:Chset-color-letter|Ñ
00D1
0209
Template:Chset-color-letter|Ò
00D2
0210
Template:Chset-color-letter|Ó
00D3
0211
Template:Chset-color-letter|Ô
00D4
0212
Template:Chset-color-letter|Õ
00D5
0213
Template:Chset-color-letter|Ö
00D6
0214
Template:Chset-color-graph|×
00D7
0215
Template:Chset-color-letter|Ø
00D8
0216
Template:Chset-color-letter|Ù
00D9
0217
Template:Chset-color-letter|Ú
00DA
0218
Template:Chset-color-letter|Û
00DB
0219
Template:Chset-color-letter|Ü
00DC
0220
Template:Chset-color-letter|Ý
00DD
0221
Template:Chset-color-letter|Þ
00DE
0222
Template:Chset-color-letter|ß
00DF
0223
E_
224
Template:Chset-color-letter|à
00E0
0224
Template:Chset-color-letter|á
00E1
0225
Template:Chset-color-letter|â
00E2
0226
Template:Chset-color-letter|ã
00E3
0227
Template:Chset-color-letter|ä
00E4
0228
Template:Chset-color-letter|å
00E5
0229
Template:Chset-color-letter|æ
00E6
0230
Template:Chset-color-letter|ç
00E7
0231
Template:Chset-color-letter|è
00E8
0232
Template:Chset-color-letter|é
00E9
0233
Template:Chset-color-letter|ê
00EA
0234
Template:Chset-color-letter|ë
00EB
0235
Template:Chset-color-letter|ì
00EC
0236
Template:Chset-color-letter|í
00ED
0237
Template:Chset-color-letter|î
00EE
0238
Template:Chset-color-letter|ï
00EF
0239
F_
240
Template:Chset-color-letter|ð
00F0
0240
Template:Chset-color-letter|ñ
00F1
0241
Template:Chset-color-letter|ò
00F2
0242
Template:Chset-color-letter|ó
00F3
0243
Template:Chset-color-letter|ô
00F4
0244
Template:Chset-color-letter|õ
00F5
0245
Template:Chset-color-letter|ö
00F6
0246
Template:Chset-color-graph|÷
00F7
0247
Template:Chset-color-letter|ø
00F8
0248
Template:Chset-color-letter|ù
00F9
0249
Template:Chset-color-letter|ú
00FA
0250
Template:Chset-color-letter|û
00FB
0251
Template:Chset-color-letter|ü
00FC
0252
Template:Chset-color-letter|ý
00FD
0253
Template:Chset-color-letter|þ
00FE
0254
Template:Chset-color-letter|ÿ
00FF
0255

  Letter  Number  Punctuation  Symbol  Other  Undefined   Differences from ISO-8859-1

According to the information on Microsoft's and the Unicode Consortium's websites, positions 81, 8D, 8F, 90, and 9D are unused; however, the Windows API MultiByteToWideChar maps these to the corresponding C1 control codes. The "best fit" mapping documents this behavior, too.[10]

History

  • The first version of the codepage 1252 used in Microsoft Windows 1.0 did not have positions D7 and F7 defined. All the characters in the ranges 80–9F were undefined too.
  • The second version, used in Microsoft Windows 2.0, positions D7, F7, 91, and 92 had been defined.
  • The third version, used since Microsoft Windows 3.1, had all the present-day positions defined, except euro sign and Z with caron character pair.
  • The final version listed above debuted in Microsoft Windows 98 and was ported to older versions of Windows with the euro symbol update.

OS/2 extensions

The OS/2 operating system supports an encoding by the name of Code page 1004 (CCSID 1004) or "Windows Extended".[15][16] This mostly matches code page 1252, with the exception of certain C0 control characters being replaced by diacritic characters.

Code page 1004 (differing rows only)[17][18][19][20]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
Template:Chset-color-ctrl|NUL
0000
Template:Chset-color-ctrl|SOH
0001
Template:Chset-color-ctrl|STX
0002
Template:Chset-color-ctrl|ETX
0003
Template:Chset-color-letter-box|ˉ
02C9
Template:Chset-color-graph-box|˘
02D8
Template:Chset-color-graph-box|˙
02D9
Template:Chset-color-ctrl|BEL
0007
Template:Chset-color-graph-box|˚
02DA
Template:Chset-color-ctrl|HT
0009
Template:Chset-color-graph-box|˝
02DD
Template:Chset-color-graph-box|˛
02DB
Template:Chset-color-letter-box|ˇ
02C7
Template:Chset-color-ctrl|CR
000D
Template:Chset-color-ctrl|SO
000E
Template:Chset-color-ctrl|SI
000F

  Differences from Windows-1252

MSDOS extensions [rare]

There is a rarely used, but useful, graphics extended code page 1252 where codes 0x00 to 0x1f allow for box drawing as used in applications such as MSDOS Edit and Codeview. One of the applications to use this code page was an Intel Corporation Install/Recovery disk image utility from mid/late 1995. These programs were written for its P6 User Test Program machines (US example[21]). It was used exclusively in its then EMEA region (Europe, Middle East & Africa). In time the programs were changed to use code page 850.

Graphics Extended Code Page 1252[citation needed]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_
0
Template:Chset-color-graph|
25CB
Template:Chset-color-graph|
25A0
Template:Chset-color-graph|
2191
Template:Chset-color-graph|
2193
Template:Chset-color-graph|
2192
Template:Chset-color-graph|
2190
Template:Chset-color-graph|
2551
Template:Chset-color-graph|
2550
Template:Chset-color-graph|
2554
Template:Chset-color-graph|
2557
Template:Chset-color-graph|
255A
Template:Chset-color-graph|
255D
Template:Chset-color-graph|
2591
Template:Chset-color-graph|
2592
Template:Chset-color-graph|
25BA
Template:Chset-color-graph|
25C4
1_
16
Template:Chset-color-graph|
2502
Template:Chset-color-graph|
2500
Template:Chset-color-graph|
250C
Template:Chset-color-graph|
2510
Template:Chset-color-graph|
2514
Template:Chset-color-graph|
2518
Template:Chset-color-graph|
251C
Template:Chset-color-graph|
2524
Template:Chset-color-graph|
2534
Template:Chset-color-graph|
252C
Template:Chset-color-graph|
2666
Template:Chset-color-graph|
253C
Template:Chset-color-graph|
2588
Template:Chset-color-graph|
2584
Template:Chset-color-graph|
2580
Template:Chset-color-graph|
25AC

See also

References

  1. ^ Character Sets, Internet Assigned Numbers Authority (IANA), 2018-12-12
  2. ^ a b "Historical trends in the usage of character encodings, July 2020". Retrieved 2020-07-23.
  3. ^ "Frequently Asked Questions".
  4. ^ "Usage Survey of Character Encodings broken down by Ranking". w3techs.com. Retrieved 2020-07-24.
  5. ^ a b "Encoding". WHATWG. 27 January 2015. sec. 5.2 Names and labels. Archived from the original on 4 February 2015. Retrieved 4 February 2015.
  6. ^ Wissink, Cathy (5 April 2002). "Unicode and Windows XP" (PDF). Microsoft. p. 1. Archived (PDF) from the original on 4 February 2015. Retrieved 4 February 2015.
  7. ^ "Code page 1252 information document". Archived from the original on 2016-03-03.
  8. ^ "CCSID 1252 information document". Archived from the original on 2016-03-26.
  9. ^ "CCSID 5348 information document". Archived from the original on 2014-11-29.
  10. ^ a b "Unicode mappings of Windows-1252 with 'Best Fit'". Unicode. Archived from the original on 4 February 2015. Retrieved 4 February 2015.
  11. ^ Code Page CPGID 01252 (pdf) (PDF), IBM
  12. ^ Code Page CPGID 01252 (txt), IBM
  13. ^ International Components for Unicode (ICU), ibm-1252_P100-2000.ucm, 2002-12-03
  14. ^ International Components for Unicode (ICU), ibm-5348_P100-1997.ucm, 2002-12-03
  15. ^ "Code page 1004 information document". Archived from the original on 2015-06-25.
  16. ^ "CCSID 1004 information document". Archived from the original on 2016-03-26.
  17. ^ "Code Page 01004" (PDF). IBM. Archived from the original (PDF) on 2015-07-08. (version based on Windows 3.1 version of Windows-1252)
  18. ^ Code Page CPGID 01004 (pdf) (PDF), IBM
  19. ^ Code Page CPGID 01004 (txt), IBM
  20. ^ Borgendale, Ken (2001). "Codepage 1004 - Windows Extended". OS/2 codepages by number. Archived from the original on 2018-05-13. Retrieved 2018-05-13. (version based on current version of Windows-1252)
  21. ^ "Performance of NASA Equation Solvers on Computational Mechanics Applications" (PDF). NASA.

External links