ISO/IEC 8859-1

ISO/IEC 8859-1:1998
MIME ISO-8859-1
Alias(es) iso-ir-100, csISOLatin1, latin1, l1, IBM819, CP819
Standard ISO/IEC 8859

ISO/IEC 8859-1:1998, Information technology — 8-bit single-byte coded graphic character sets — Part 1: Latin alphabet No. 1, is part of the ISO/IEC 8859 series of ASCII-based standard character encodings, first edition published in 1987. ISO 8859-1 encodes what it refers to as "Latin alphabet no. 1," consisting of 191 characters from the Latin script. This character-encoding scheme is used throughout the Americas, Western Europe, Oceania, and much of Africa. It is also commonly used in most standard romanizations of East-Asian languages. It is the basis for most popular 8-bit character sets, including Windows-1252 and the first block of characters in Unicode.

It is very common (on the Internet) 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.[1]

As of May 2017, 5.1% of all web sites claim to use ISO 8859-1 (see Windows-1252 for claimed use statistics for both encodings).[2][3] However, this includes an unknown number of pages actually using Windows-1252 and/or UTF-8, both of which are commonly recognized by browsers despite the character set tag.

ISO-8859-1 is the IANA preferred name for this standard when supplemented with the C0 and C1 control codes from ISO/IEC 6429 (see below for HTML5 exception). IBM calls it Code page 819 or CP819. The following other aliases are registered for ISO-8859-1: iso-ir-100, csISOLatin1, latin1, l1, IBM819. Oracle calls it WE8ISO8859P1.[4]

The Windows-1252 codepage coincides with ISO-8859-1 for all codes except the range 128 to 159 (hex 80 to 9F), where the little-used C1 controls are replaced with additional characters including all the missing characters provided by ISO-8859-15. Code page 28591 a.k.a. Windows-28591 is the actual ISO-8859-1 codepage.[5]

Coverage

Each character is encoded as a single eight-bit code value. These code values can be used in almost any data interchange system to communicate in the following languages (with a few exceptions due to missing characters, as noted):

Modern languages with complete coverage

Notes
  1. Complete support except for Ǿ/ǿ which are missing. Ǿ/ǿ can be replaced with Ø/ø or øe at the cost of increased ambiguity.
  2. US and modern British.
  3. Kurdish Unified Alphabet, based on the Latin character set.
  4. Basic classical orthography.
  5. Rumi script.
  6. Bokmål and Nynorsk.
  7. European and Brazilian.

Languages with incomplete coverage

ISO-8859-1 is commonly used for certain languages, even though it lacks characters used by these languages. In most cases, only a few letters are missing, and they can be replaced with characters that are in ISO-8859-1 using some form of typographic approximation. The following table lists such languages.

Language Missing characters Typical workaround Supported by
Catalan Ŀ, ŀ (deprecated) L·, l·
Czech Č, č, Ď, ď, Ě, ě, Ň, ň, Ř, ř, Š, š, Ť, ť, Ů, ů, Ž, ž C~, c~, D~, d~, E~, e~, N~, n~, R~, r~, S~, s~, T~, t~, U~, u~, Z~, z~ ISO-8859-2, Windows-1250
Dutch IJ, ij (but with debatable status); j́ in emphasized words like "blíj́f" digraphs IJ, ij; blíjf
Estonian Š, š, Ž, ž (only present in loanwords) Sh, sh, Zh, zh ISO-8859-15, Windows-1252
Finnish Š, š, Ž, ž (only present in loanwords) Sh, sh, Zh, zh ISO-8859-15, Windows-1252
French Œ, œ, and the very rare Ÿ digraphs OE, oe, and Y without the diaeresis (or Ý) ISO-8859-15, ISO-8859-16, Windows-1252
Guarani , ẽ, Ĩ, ĩ, Ũ, ũ, , ỹ, , g̃ E~, e~, I~, i~, U~, u~, Y~, y~, G~, g~ or Ê, ê, Î, î, Û, û, Ý, ÿ
Hungarian Ő, ő, Ű, ű Õ, õ (or Ô, ô; sometimes Ö, ö), Û, û (sometimes Ü, ü) ISO-8859-2, Windows-1250
Irish (traditional orthography) Ḃ, ḃ, Ċ, ċ, Ḋ, ḋ, Ḟ, ḟ, Ġ, ġ, Ṁ, ṁ, Ṡ, ṡ, Ṫ, ṫ Bh, bh, Ch, ch, Dh, dh, Fh, fh, Gh, gh, Mh, mh, Sh, sh, Th, th ISO-8859-14
Latin with macrons Ā, ā, Ē, ē, Ī, ī, Ō, ō, Ū, ū ISO-8859-13, Windows-1257
Māori Ā, ā, Ē, ē, Ī, ī, Ō, ō, Ū, ū Ä, ä, Ë, ë, Ï, ï, Ö, ö, Ü, ü ISO-8859-13, Windows-1257
Romanian Ă, ă, Ș, ș, Ț, ț and older Ţ, ţ with cedilla A, a (or Ã, ã), S, s, T, t ISO-8859-2, Windows-1250 (Ţ, ţ with cedilla)
Turkish İ, ı, Ğ, ğ, Ş, ş I, ï, G, g, S, s ISO-8859-3, ISO-8859-9, Windows-1254
Welsh , ẁ, , ẃ, Ŵ, ŵ, Ŷ, ŷ Ý, ÿ ISO-8859-14

The letter ÿ, which appears in French only very rarely, and never at the beginning of words, is included only in lowercase form. The slot corresponding to its uppercase form is occupied by the lowercase letter ß from the German language, which itself is rarely used in its uppercase form.

In rare cases older publishing systems still use ISO-8859-1 encoding with substituted national typeface. Such nonstandard configuration is not noticeable in printed material but leads to serious implications, like impossibility of direct text search, when the material is distributed in electronic form. The most notable are scientific publications in Russian, like those from the publisher Nauka.

Quotation marks

For some languages listed above, the correct typographical quotation marks are missing, as only « », " ", and ' ' are included. Also, this scheme does not provide for oriented (6- or 9-shaped) single or double quotation marks. Some fonts will display the spacing grave accent (0x60) and the apostrophe (0x27) as a matching pair of oriented single quotation marks, but this is not considered part of the modern standard.

History

ISO 8859-1 was based on the Multinational Character Set used by Digital Equipment Corporation (DEC) in the popular VT220 terminal in 1983. It was developed within ECMA, the European Computer Manufacturers Association, and published in March 1985 as ECMA-94,[6] by which name it is still sometimes known. The second edition of ECMA-94 (June 1986)[7] also included ISO 8859-2, ISO 8859-3, and ISO 8859-4 as part of the specification.

In 1985, Commodore adopted ECMA-94 for its new AmigaOS operating system.[8] The Seikosha MP-1300AI impact dot-matrix printer, used with the Amiga 1000, included this encoding.

In 1992, the IANA registered the character map ISO_8859-1:1987, more commonly known by its preferred MIME name of ISO-8859-1 (note the extra hyphen over ISO 8859-1), a superset of ISO 8859-1, for use on the Internet. This map assigns the C0 and C1 control characters to the unassigned code values thus provides for 256 characters via every possible 8-bit value.

ISO-8859-1 is (according to the standards at least) the default encoding of documents delivered via HTTP with a MIME type beginning with "text/" (however the HTML5 specification requires that documents advertised as ISO-8859-1 actually be parsed with the Windows-1252 encoding).[9][10] It is the default encoding of the values of certain descriptive HTTP headers, and defines the repertoire of characters allowed in HTML 3.2 documents (HTML 4.0, however, is based on Unicode). It and Windows-1252 are often assumed to be the encoding of text on Unix and Microsoft Windows in the absence of locale or other information, this is only gradually being replaced with Unicode encoding such as UTF-8 or UTF-16.

Codepage layout

The two boxed codepoints 215 (0xD7) and 247 (0xF7) were still undefined in the first release of ECMA-94 (1985).[6]

Legend:

ISO/IEC 8859-1
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
 
0_
 
                               
 
1_
 
                               
 
2_
 
SP
0020
32
!
0021
33
"
0022
34
#
0023
35
$
0024
36
%
0025
37
&
0026
38
'
0027
39
(
0028
40
)
0029
41
*
002A
42
+
002B
43
,
002C
44
-
002D
45
.
002E
46
/
002F
47
 
3_
 
0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
 
4_
 
@
0040
64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
I
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
 
5_
 
P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90
[
005B
91
\
005C
92
]
005D
93
^
005E
94
_
005F
95
 
6_
 
`
0060
96
a
0061
97
b
0062
98
c
0063
99
d
0064
100
e
0065
101
f
0066
102
g
0067
103
h
0068
104
i
0069
105
j
006A
106
k
006B
107
l
006C
108
m
006D
109
n
006E
110
o
006F
111
 
7_
 
p
0070
112
q
0071
113
r
0072
114
s
0073
115
t
0074
116
u
0075
117
v
0076
118
w
0077
119
x
0078
120
y
0079
121
z
007A
122
{
007B
123
|
007C
124
}
007D
125
~
007E
126
 
 
8_
 
                               
 
9_
 
                               
 
A_
 
NBSP
00A0
160
¡
00A1
161
¢
00A2
162
£
00A3
163
¤
00A4
164
¥
00A5
165
¦
00A6
166
§
00A7
167
¨
00A8
168
©
00A9
169
ª
00AA
170
«
00AB
171
¬
00AC
172
SHY
00AD
173
®
00AE
174
¯
00AF
175
 
B_
 
°
00B0
176
±
00B1
177
²
00B2
178
³
00B3
179
´
00B4
180
µ
00B5
181

00B6
182
·
00B7
183
¸
00B8
184
¹
00B9
185
º
00BA
186
»
00BB
187
¼
00BC
188
½
00BD
189
¾
00BE
190
¿
00BF
191
 
C_
 
À
00C0
192
Á
00C1
193
Â
00C2
194
Ã
00C3
195
Ä
00C4
196
Å
00C5
197
Æ
00C6
198
Ç
00C7
199
È
00C8
200
É
00C9
201
Ê
00CA
202
Ë
00CB
203
Ì
00CC
204
Í
00CD
205
Î
00CE
206
Ï
00CF
207
 
D_
 
Ð
00D0
208
Ñ
00D1
209
Ò
00D2
210
Ó
00D3
211
Ô
00D4
212
Õ
00D5
213
Ö
00D6
214
×
00D7
215
Ø
00D8
216
Ù
00D9
217
Ú
00DA
218
Û
00DB
219
Ü
00DC
220
Ý
00DD
221
Þ
00DE
222
ß
00DF
223
 
E_
 
à
00E0
224
á
00E1
225
â
00E2
226
ã
00E3
227
ä
00E4
228
å
00E5
229
æ
00E6
230
ç
00E7
231
è
00E8
232
é
00E9
233
ê
00EA
234
ë
00EB
235
ì
00EC
236
í
00ED
237
î
00EE
238
ï
00EF
239
 
F_
 
ð
00F0
240
ñ
00F1
241
ò
00F2
242
ó
00F3
243
ô
00F4
244
õ
00F5
245
ö
00F6
246
÷
00F7
247
ø
00F8
248
ù
00F9
249
ú
00FA
250
û
00FB
251
ü
00FC
252
ý
00FD
253
þ
00FE
254
ÿ
00FF
255
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

Similar character sets

ISO-8859-1 was incorporated as the first 256 code points of ISO/IEC 10646 and Unicode.

The lower range 32 to 126 (hex 20 to 7E, the G0 subset) maps exactly to the same coded G0 subset of the ISO 646 US variant (commonly known as ASCII), whose ISO 2022 standard switch sequence is "ESC ( B". The higher range 160 to 255 (hex A0 to FF, the G1 subset) maps exactly to the same subset initiated by the ISO 2022 standard switch sequence "ESC . A".

ISO/IEC 8859-1 is missing some characters for French and Finnish text and the euro sign. In order to provide some of these characters, ISO/IEC 8859-15 was developed in 1999 as an update of ISO/IEC 8859-1. Ironically, three of these characters (Œ, œ, and Ÿ) had already been present in the predecessor to ISO/IEC 8859-1 (1987) and ECMA-94 (1985), DEC's Multinational Character Set (MCS) in 1983. Since their original codepoints were now reused for other purposes, the characters had to be reintroduced under different, less logical codepoints. This required the removal of some infrequently used characters from ISO/IEC 8859-1, including fraction symbols and letter-free diacritics: ¤, ¦, ¨, ´, ¸, ¼, ½, and ¾.

The popular Windows-1252 character set adds all the missing characters provided by ISO/IEC 8859-15, plus a number of typographic symbols, by replacing the rarely used C1 controls in the range 128 to 159 (hex 80 to 9F). It is very common to mislabel text data with the charset label ISO-8859-1, even though the data is really Windows-1252 encoded. Many web browsers and e-mail clients will interpret ISO-8859-1 control codes as Windows-1252 characters, and that behavior was later standardized in HTML5,[11] in order to accommodate such mislabeling and care should be taken to avoid generating these characters in ISO-8859-1 labeled content.

The Apple Macintosh computer introduced a character encoding called Mac Roman, or Mac-Roman, in 1984. It was meant to be suitable for Western European desktop publishing. It is a superset of ASCII, like ISO-8859-1, and has most of the characters that are in ISO-8859-1 but in a totally different arrangement. A later version, registered with IANA as "Macintosh", replaced the generic currency sign ¤ with the euro sign . The few printable characters that are in ISO 8859-1 but not in this set are often a source of trouble when editing text on websites using older Macintosh browsers (including the last version of Internet Explorer for Mac). However the extra characters that Windows-1252 has in the C1 codepoint range are all supported in MacRoman.

DOS had code page 850, which had all printable characters that ISO-8859-1 had (albeit in a totally different arrangement) plus the most widely used graphic characters from code page 437.

Between 1989[12] and 2015 Hewlett-Packard used another superset of ISO-8859-1 on many of their calculators. This proprietary character set was sometimes referred to simply as "ECMA-94" as well.[12]

See also

References

  1. "Encoding". WHATWG. 27 January 2015. sec. 5.2 Names and labels. Archived from the original on 4 February 2015. Retrieved 4 February 2015.
  2. http://w3techs.com/technologies/history_overview/character_encoding
  3. http://w3techs.com/faq
  4. Baird, Cathy; Chiba, Dan; Chu, Winson; Fan, Jessica; Ho, Claire; Law, Simon; Lee, Geoff; Linsley, Peter; Matsuda, Keni; Oscroft, Tamzin; Takeda, Shige; Tanaka, Linus; Tozawa, Makoto; Trute, Barry; Tsujimoto, Mayumi; Wu, Ying; Yau, Michael; Yu, Tim; Wang, Chao; Wong, Simon; Zhang, Weiran; Zheng, Lei; Zhu, Yan; Moore, Valarie (2002) [1996]. "Appendix A: Locale Data". Oracle9i Database Globalization Support Guide (PDF) (Release 2 (9.2) ed.). Oracle Corporation. Oracle A96529-01. Archived (PDF) from the original on 2017-02-14. Retrieved 2017-02-14.
  5. "Code Page Identifiers". Microsoft Corporation. Retrieved 2010-12-19.
  6. 1 2 Standard ECMA-94: 8-bit Single-Byte Coded Graphic Character Set (PDF) (1 ed.). European Computer Manufacturers Association (ECMA). March 1985 [1984-12-14]. Archived (PDF) from the original on 2016-12-02. Retrieved 2016-12-01. […] Since 1982 the urgency of the need for an 8-bit single-byte coded character set was recognized in ECMA as well as in ANSI/X3L2 and numerous working papers were exchanged between the two groups. In February 1984 ECMA TC1 submitted to ISO/TC97/SC2 a proposal for such a coded character set. At its meeting of April 1984 SC decided to submit to TC97 a proposal for a new item of work for this topic. Technical discussions during and after this meeting led TC1 to adopt the coding scheme proposed by X3L2. Part 1 of Draft International Standard DTS 8859 is based on this joint ANSI/ECMA proposal. […] Adopted as an ECMA Standard by the General Assembly of Dec. 13–14, 1984. […]
  7. second edition of ECMA-94 (June 1986)
  8. Malyshev, Michael (2003-01-10). "Registration of new charset [Amiga-1251]". ATO-RU (Amiga Translation Organization - Russian Department). Archived from the original on 2016-12-05. Retrieved 2016-12-05.
  9. W3C/WHATWG Encoding specification: Names and Labels
  10. HTML5 specification: 2.1.6 Character encodings
  11. WHATWG. "Encoding Standard". Retrieved 2016-11-15. |section= ignored (help)
  12. 1 2 HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. HP reorder number 82240-90014. Retrieved 2016-08-01.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.