stringtranslate.com

Windows-1252

Windows-1252 или CP-1252 ( кодовая страница Windows 1252) — устаревшая однобайтовая кодировка символов [2] , которая используется по умолчанию (как «кодовая страница ANSI») в Microsoft Windows в Северной и Южной Америке , Западной Европе , Океании и большей части Африки . [3]

Первоначально он был таким же, как ISO 8859-1 , но с выходом Windows 2.0 начал отличаться, добавив дополнительные символы в диапазоне от 0x80 до 0x9F ( hex ) (стандарты ISO резервируют этот диапазон для управляющих кодов C1 ). Среди известных дополнительных символов — фигурные кавычки и все печатные символы из ISO 8859-15 .

Это наиболее используемая однобайтовая кодировка символов в мире. Хотя почти все веб-сайты теперь используют многобайтовую кодировку символов UTF-8 , по состоянию на июль 2024 года 1,2% [4] веб-сайтов заявили о ISO 8859-1 , который рассматривается как Windows-1252 всеми современными браузерами (как того требует стандарт HTML5 [5] ), плюс 0,3% заявили Windows-1252 напрямую, [4] [6] в общей сложности 1,5%. Некоторые страны или языки показывают более высокое использование, чем в среднем по миру, в 2024 году в Бразилии, согласно использованию веб-сайтов, использование составило 3,4%, [7] а в Германии — 2,7%. [8] [9] (это суммы деклараций ISO-8859-1 и CP-1252).

Имя

В Windows он известен под номером кодовой страницы 1252 и под одобренным IANA именем «windows-1252».

Исторически фраза «кодовая страница ANSI» использовалась в Windows для обозначения кодировок, отличных от DOS; предполагалось, что большинство из них будут стандартами ANSI , такими как ISO-8859-1 . Несмотря на то, что Windows-1252 была первой и самой популярной кодовой страницей, названной так в терминологии Microsoft Windows, эта кодовая страница никогда не была стандартом ANSI. Microsoft поясняет: «Термин ANSI, используемый для обозначения кодовых страниц Windows, является исторической ссылкой, но в настоящее время является неправильным наименованием, которое продолжает сохраняться в сообществе Windows». [10]

LaTeX может вводить Windows-1252, используя inputenc.sty с параметром ansinew (и с недавних пор cp1252 ). [11] [12]

IBM использует кодовую страницу 1252 ( CCSID 1252 и расширенный CCSID знака евро 5348) для Windows-1252. [13] [14] [15]

В базе данных Oracle он называется «WE8MSWIN1252» . [16]

История

Начиная с 1990-х годов многие продукты Microsoft , которые могли генерировать HTML, включали символы, эксклюзивные для Windows-1252, но помечали кодировку как ISO-8859-1, ASCII или необъявленную. [ требуется ссылка ] Символы, эксклюзивные для Windows-1252, отображались некорректно в операционных системах, отличных от Windows (часто как вопросительные знаки). [17] [18] В частности, типографские кавычки — фигурные варианты стандартных прямых апострофов и кавычек в US-ASCII — обычно использовались в файлах, созданных в приложениях Windows, таких как Microsoft Word, из-за функции интеллектуальных кавычек , которая может автоматически преобразовывать прямые апострофы и кавычки в фигурные варианты. [19] Чтобы исправить это, к 2000 году большинство веб-браузеров и почтовых клиентов обрабатывали наборы символов ISO-8859-1 и US-ASCII как Windows-1252 [ требуется ссылка ] — такое поведение теперь требуется спецификацией HTML5. [5] Необъявленные кодировки в HTML также считаются Windows-1252. [20] [21]

Хотя Windows NT поддерживала Unicode и пыталась поощрять программы использовать его, она предоставляла только 16-битные кодовые единицы UCS-2 / UTF-16 , несмотря на существующую поддержку других многобайтовых кодировок символов. Поскольку многие приложения предпочитали использовать 8-битные строки, Windows-1252 оставалась самой популярной кодировкой в ​​Windows даже после того, как в нее была добавлена ​​поддержка UTF-16. Поддержка Unicode в Windows со временем улучшилась, и поддержка UTF-8 стала доступна начиная с Windows 10 .

Макет кодовой страницы

В следующей таблице показан Windows-1252. Отличия от ISO-8859-1 имеют номер кодовой точки Unicode под символом, основанный на сопоставлении Unicode.org Windows-1252 с "наилучшим соответствием". Подсказка, обычно доступная только при наведении указателя непосредственно справа от символа, показывает имя кодовой точки Unicode и десятичный код Alt .

  Согласно информации на веб-сайтах Microsoft и Unicode Consortium, позиции 81, 8D, 8F, 90 и 9D не используются; однако Windows API MultiByteToWideCharсопоставляет их с соответствующими кодами управления C1 . Сопоставление «наилучшего соответствия» также документирует это поведение. [22]

Связанные кодировки

Расширения OS/2

Операционная система OS /2 поддерживает кодировку под названием Кодовая страница 1004 ( CCSID 1004) или «Windows Extended». [27] [28] Это в основном соответствует кодовой странице 1252, за исключением некоторых управляющих символов C0 , которые заменяются диакритическими символами.

Расширения MS-DOS (редко)

Существует редко используемая, но полезная графическая расширенная кодовая страница 1252, где коды от 0x00 до 0x1f позволяют рисовать рамки, как это используется в таких приложениях, как MSDOS Edit и Codeview. Одним из приложений, использующих эту кодовую страницу, была утилита образа диска Intel Corporation Install/Recovery середины/конца 1995 года. Эти программы были написаны для ее машин P6 User Test Program (пример для США [33] ). Она использовалась исключительно в тогдашнем регионе EMEA (Европа, Ближний Восток и Африка). Со временем программы были изменены для использования кодовой страницы 850 .

Вариант Palm OS

Каждое устройство Palm OS поддерживает один язык и одну кодировку символов в зависимости от его локали. [34]

Для таких языков, как английский и французский, Palm OS использует пользовательскую кодировку символов на основе Windows-1252. Для японского языка она вместо этого использует многобайтовую кодировку символов на основе кодовой страницы 932. Независимо от локали системы, все символы в диапазоне от 0x00 до 0x7F гарантированно будут одинаковыми, за исключением 0x5D, который является знаком йены в японском языке, и обратной косой черты во всех остальных. [34]

Palm OS 3.1 внесла несколько изменений в кодировку символов для лучшего соответствия Windows-1252: [35]

Ниже приведен вариант Windows-1252, используемый Palm OS 3.3 и более поздними версиями для английского языка и нескольких других локалей. [36] Python дает ему palmosметку, описывая его как кодировку для Palm OS 3.5. [38] [39] Отличия от Windows-1252 заключаются в их кодовой точке Unicode.

Смотрите также

Примечания

  1. ^ До Palm OS 3.1 символ в кодовой точке 0x80 был U+2007 NUMERIC SPACE; начиная с Palm OS 3.1, 0x80 — это знак евро, а 0x19 — это U+2007 NUMERIC SPACE. [36]
  2. ^ Начиная с Palm OS 3.1, этот символ также дублируется в 0x18. [35] [36]
  3. ^ До Palm OS 3.3 эта кодовая точка была эксклюзивным символом Palm OS «штрих быстрого доступа»; начиная с Palm OS 3.3 эта кодовая точка не определена. [35] [36]
  4. ^ До Palm OS 3.3 эта кодовая точка была эксклюзивным символом Palm OS «командный штрих»; начиная с Palm OS 3.3 эта кодовая точка не определена. [35] [36]

Ссылки

  1. ^ Наборы символов, Управление по распределению адресов в Интернете (IANA), 2018-12-12
  2. ^ "Encoding. Living Standard". WHATWG . 13 июня 2024 г. § 9. Устаревшие однобайтовые кодировки . Получено 28.06.2024 .
  3. ^ Karl-Bridge-Microsoft (2021-10-26). "Кодовые страницы - приложения Win32". learn.microsoft.com . Получено 2024-10-09 .
  4. ^ ab "Исторические тенденции в статистике использования кодировок символов для веб-сайтов, декабрь 2023 г.". w3techs.com . Получено 2024-07-19 .
  5. ^ ab "Encoding". WHATWG . 27 января 2015 г., раздел 5.2 Имена и метки. Архивировано из оригинала 4 февраля 2015 г. Получено 4 февраля 2015 г.
  6. ^ "Часто задаваемые вопросы". w3techs.com .
  7. ^ "Распределение кодировок символов среди веб-сайтов, использующих Бразилию". W3Techs . Архивировано из оригинала 4 апреля 2024 г. Получено 2024-07-19 .
  8. ^ "Распределение кодировок символов среди веб-сайтов, использующих .de". W3Techs . Архивировано из оригинала 4 апреля 2024 г. Получено 2024-07-19 .
  9. ^ "Распределение кодировок символов среди веб-сайтов, использующих немецкий язык". w3techs.com . Получено 2023-01-16 .
  10. ^ Виссинк, Кэти (5 апреля 2002 г.). «Unicode и Windows XP» (PDF) . Microsoft . стр. 1. Архивировано из оригинала (PDF) 4 февраля 2015 г. . Получено 4 февраля 2015 г. .
  11. ^ "LaTeX News, Issue 28" (PDF; 379 КБ) . Проект LaTeX. Апрель 2018 г. Получено 27 июля 2024 г.
  12. ^ "Inputenc – Принимать различные входные кодировки". Проект LaTeX. 2024-02-08 . Получено 2024-07-27 .
  13. ^ "Информационный документ о кодовой странице 1252". IBM. 30 сентября 1997 г. Архивировано из оригинала 2016-03-03.
  14. ^ "Информационный документ CCSID 1252". IBM. Архивировано из оригинала 2016-03-26.
  15. ^ "Информационный документ CCSID 5348". IBM. Архивировано из оригинала 29.11.2014.
  16. ^ "Руководство по установке клиента базы данных". Oracle . Получено 2021-02-14 .
  17. ^ Texin, Tex. «Сравнение символов в Windows-1252, ISO-8859-1, ISO-8859-15». I18nQA.com .
  18. ^ ван Эмден, Ева (28 января 2011 г.). «Как сделать типографские кавычки в HTML». vancouvereditor.com . Получено 7 января 2024 г. Если вы используете типографские кавычки, не указав правильную кодировку символов для вашего HTML-файла, некоторые из ваших зрителей увидят вопросительные знаки, квадратики или другие безумные символы вместо красивых фигурных кавычек, которые вы хотели им показать.
  19. ^ "Умные кавычки в Word". Поддержка Microsoft . Microsoft . Получено 7 января 2024 г. .
  20. ^ "NetWare Web Search: Understanding Character Set Encodings". Документация Novell . Novell. если документ не содержит значение кодировки CHARSET, то кодировкой по умолчанию для HTML-документов является ISO-8859-1, также известная как Latin1. Кодировкой по умолчанию для простых текстовых документов является US-ASCII.
  21. ^ Наблюдаемое поведение в Chrome, в некоторых браузерах это может быть UTF-8. [ оригинальное исследование? ]
  22. ^ ab "Unicode mappings of Windows-1252 with 'Best Fit'". Unicode . Архивировано из оригинала 4 февраля 2015 . Получено 4 февраля 2015 .
  23. Кодовая страница 01252 (PDF) , IBM, 1998, архивировано (PDF) из оригинала 27 октября 2023 г.
  24. Кодовая страница (CPGID) 01252 (txt) , IBM, 1998, архивировано из оригинала 8 апреля 2023 г.
  25. ^ Международные компоненты для Unicode (ICU), ibm-1252_P100-2000.ucm, 2002-12-03
  26. ^ Международные компоненты для Unicode (ICU), ibm-5348_P100-1997.ucm, 2002-12-03
  27. ^ "Информационный документ о кодовой странице 1004". Архивировано из оригинала 2015-06-25.
  28. ^ "Информационный документ CCSID 1004". Архивировано из оригинала 2016-03-26.
  29. ^ "Кодовая страница 01004" (PDF) . IBM . Архивировано (PDF) из оригинала 2015-07-08.(версия на основе Windows 3.1 версии Windows-1252)
  30. ^ Кодовая страница CPGID 01004 (pdf) (PDF) , IBM
  31. ^ Кодовая страница CPGID 01004 (txt), IBM
  32. ^ Borgendale, Ken (2001). "Кодовая страница 1004 - Windows Extended". Кодовые страницы OS/2 по номеру . Архивировано из оригинала 2018-05-13 . Получено 2018-05-13 .(версия основана на текущей версии Windows-1252)
  33. ^ Storaasli, Olaf (1996). "Производительность решателей уравнений NASA в приложениях вычислительной механики" (PDF) . Производительность решателей уравнений NASA в приложениях вычислительной механики . NASA. doi :10.2514/6.1996-1505. S2CID  15711051. Архивировано из оригинала (PDF) 2019-05-03.
  34. ^ ab "Глава 13: Локализованные приложения". Palm OS Programmer's Companion (PDF) . Palm Computing Platform. 16 марта 2000 г. стр. 321.
  35. ^ abcdefg «Приложение B: Руководство по совместимости». Справочник Palm OS SDK (PDF) . Palm Computing Platform. 16 марта 2000 г. С. 1181–1182.
  36. ^ abcdefghi Валлей, Линус. «Наборы символов Palm Pilot и сопоставления Юникода». GNU-перекодирование . Datorföreningen vid Lunds Universitet и Lunds Tekniska Högskola . Проверено 10 октября 2023 г.
  37. ^ abc Parker, Greg. "Palm OS Built-in Fonts". Sealie Software . Получено 10 октября 2023 г.
  38. ^ "кодеки — Реестр кодеков и базовые классы (§ Текстовые кодировки)". Стандартная библиотека Python — Документация Python 3.9.4 . Python Software Foundation .
  39. ^ ab Mullender, Sjoerd (13 июля 2002 г.). "Python Character Mapping Codec for Palm OS 3.5". Исходное дерево CPython . Python Software Foundation . Получено 9 декабря 2021 г.

Внешние ссылки