'''Windows encodings''' (or '''Windows code pages''') refers to the various legacy character encodings used by the non-[[Unicode]] Microsoft Windows API, and most non-Unicode-aware Windows applications.

'''Windows encodings''' (or '''Windows code pages''') refers to the various legacy character encodings used by the non-[[Unicode]] Microsoft Windows API, and most non-Unicode-aware Windows applications.

Latest revision as of 02:38, 21 May 2019

Windows encodings (or Windows code pages) refers to the various legacy character encodings used by the non-Unicode Microsoft Windows API, and most non-Unicode-aware Windows applications.

In many contexts, it means "whatever the user's default non-Unicode encoding happens to be", which is bad from a portability perspective. All too many file formats use one of these encodings, with no reliable way to determine which one.

The term is somewhat ambiguous. In the strictest sense, it refers to the so-called "ANSI" encodings such as Windows 1252, but it can also encompass many of the even-more-legacy MS-DOS encodings (a.k.a. "OEM" encodings) supported by Windows, such as CP437.

The native encoding of Windows NT-based systems is UTF-16 (or UCS-2 for very old systems), but that is usually not considered to be a "Windows encoding". Sufficiently modern versions of Windows even support UTF-8 as a "legacy" encoding, though it is preferable to use the Unicode API instead.