I would like as definitive a reference as possible for which version of Windows introduced the Windows ANSI Western character encoding.
My prime suspects are Windows 1.0 (common sense) and Windows 3.1.
Windows 3.1 was claimed by implication by a Microsoft book available on MSDN. It states that the encodings used by Windows 95 were introduced in Windows 3.1. I do not regard that as any definitive reference or even e开发者_开发百科specially trustworthy, since it's overly vague and since it implies some falsehoods (e.g. codepage 437, the original IBM PC character set).
Update: In http://iana.org/assignments/character-sets I found the registered IANA names "ISO-8859-1-Windows-3.0-Latin-1" and "ISO-8859-1-Windows-3.1-Latin-1". The "windows-1252" was registered later (according to a discussion somewhere). It seems to me that they all refer to the same encoding, and in that case it appears that it was at least present in Windows 3.0. Thus (if true) invalidating the MS book statement which implied 3.1, but still open question exactly where
The Windows ANSI Western encoding was introduced already with Windows 1.0, according to Charles Petzold in chapter 2 of “Programming Windows” 5th edition.
In Windows 1.0 (released in November 1985), Microsoft didn't entirely abandon the IBM extended character set, but it was relegated to secondary importance. The native Windows character set was called the "ANSI character set" because it was based on a draft ANSI and ISO standard, which eventually became ANSI/ISO 885911987, "American National Standard for Information Processing 8-Bit Single-Byte Coded Graphic Character Sets Part 1: Latin Alphabet No 1." This is also known more simply as "Latin 1."
The original version of the ANSI character set as printed in the Windows 1.0 Programmer's Reference is shown in Figure 2-2.
Windows 1.0 shipped in 1985, ISO Latin 1 was published in 1985, and Windows ANSI Western is an extension of Latin 1.
Well, ISO 8859-1, which is the subset from which Windows-1252 (CP1252) is derived, was published in March 1985.
Windows 1.0 was released in November 1985, so it's quite possible that Windows 1.0 used CP1252 but unlikely. I would vote for Windows 3.1 although I can't claim authority. I will update the answer when I find an authoritative reference.
精彩评论