Jump to content

Стандартная схема сжатия для Unicode

Стандартная схема сжатия для Unicode (SCSU) [1] — это технический стандарт Unicode , предназначенный для уменьшения количества байтов, необходимых для представления текста Unicode, особенно если в этом тексте используются в основном символы из одного или небольшого количества блоков символов для каждого языка. Это достигается путем динамического сопоставления значений в диапазоне 128–255 со смещениями внутри определенных блоков по 128 символов. Начальные условия кодировщика означают, что существующие строки в ASCII и ISO-8859-1 , которые не содержат управляющие коды C0, кроме NULL TAB CR и LF, могут рассматриваться как строки SCSU. Поскольку большинство алфавитов находятся в блоках смежных кодовых точек Юникода, тексты, в которых используются маленькие алфавиты и знаки препинания ASCII или знаки препинания, которые помещаются в окно основного алфавита, могут быть закодированы по одному байту на символ (плюс накладные расходы на настройку, которые для распространенных языков составляют часто только 1 байт), большинство других знаков препинания могут быть закодированы по 2 байта на символ посредством неблокирующих сдвигов. SCSU также может внутренне переключиться на UTF-16 для работы с неалфавитными языками.

История и использование [ править ]

Первоначально агентство Reuters разработало SCSU, затем под названием RCSU для схемы сжатия Reuters для Unicode. [2] [3] [4] [5]

Сначала Консорциум Unicode считал это кодировкой символов. [6] но в 1999 году передумал: хотя он все еще считался синтаксисом кодирования передачи, какое-то время он больше не считался кодировкой символов, поскольку разные компрессоры могли выдавать разные выходные данные для одного и того же текста. [7] Однако в 2004 году это решение было отменено, и теперь SCSU считается схемой кодирования символов со сжатием , а не простой или составной схемой кодирования символов. [8] [9]

Роман Чиборра (из GNU Unifont ) написал декомпрессор. [10] Декомпрессор, предоставленный IBM, находится в International Components for Unicode вместе с компрессором, написанным на Java. [11] Более простые эталонные кодеки доступны как приложения к TR6.

Symbian OS , операционная система для мобильных телефонов и других мобильных устройств, использует SCSU для сериализации строк.

SQL Server 2008 R2 использует SCSU для сжатия значений Unicode (это означает строки в UCS-2 кодировке ), хранящихся в столбцах nchar(n) и nvarchar(n) , обеспечивая экономию места от 15% до 50% (в то время как UTF-8 имеет только это 50-процентное сокращение для подмножества ASCII Unicode) в зависимости от языка данных. [12]

Схема [ править ]

В следующих разделах кратко описывается анатомия сжатого потока SCSU. Полное описание (соответствующее описанию декомпрессора) см. в документе UTS #6.

Режимы кодирования [ править ]

SCSU запускается в однобайтовом режиме, в котором используется сжатая кодировка Window. Существуют команды для переключения в режим UTF-16BE «Юникод» и для переключения в однобайтовый режим из этого режима.

Кодировка окна [ править ]

Ядро SCSU лежит в окнах, для которых определены значения байтов 0x80-0xff. Существует восемь статических окон для более простых сценариев и знаков препинания, а также 6 типов динамических окон (плюс окна «полублока Юникода» и пользовательские окна для дополнительных плоскостей) для сценариев, использующих больше символов.

Как простые, так и динамические окна выбираются специальными командными символами. Для отдельных символов, не помещающихся в текущий блок, предусмотрены командные символы для кавычек.

со схемами сжатия простого текста общего Сравнение назначения

Поскольку текст UTF-16 или UTF-8 может занимать больше места, чем его эквивалент в кодировках до Unicode, для решения этой проблемы можно использовать сжатие, такое как SCSU. [13] По сравнению с компрессорами общего назначения использование SCSU не обязательно выгодно. [5] Кроме того, хотя его можно использовать в качестве кодирования текста, из-за состояния алгоритма при его использовании в качестве внутреннего текстового представления могут возникнуть трудности, поскольку основные текстовые операции становятся нетривиальными.

Рассматриваемый исключительно как алгоритм сжатия, SCSU уступает наиболее часто используемым алгоритмам общего назначения для текстов размером более нескольких килобайт.

Преимущество SCSU заключается в том, что он может с пользой сжимать тексты длиной всего в несколько символов, тогда как большинству полномасштабных компрессоров требуются сотни байтов данных, чтобы окупить свои собственные издержки. В ОС Symbian SCSU используется даже для операций с буфером обмена, например, вырезания, копирования и вставки небольших строк текста.

В HTML [ править ]

Поддержка SCSU в HTML -документах запрещена W3C . [14] [15] и ЧТОРГ [16] Стандарты HTML, поскольку HTML не был разработан с учетом кодировок, несовместимых с ASCII. В прошлом были продемонстрированы уязвимости межсайтового скриптинга из-за плохой обработки браузерами таких кодировок. [17]

См. также [ править ]

Ссылки [ править ]

  1. ^ «UTS #6: Схема сжатия для Unicode» . 6 мая 2005 г. Проверено 13 июня 2008 г. SCSU определяет компактное кодирование, что иногда бывает полезно. Однако текст Unicode гораздо чаще хранится и передается в формате UTF-8 , который менее компактен (за исключением ASCII ), намного проще и не представляет никаких проблем с безопасностью. Для более длинных текстов эффективно и распространено сжатие общего назначения.
  2. ^ «Девятая международная конференция Unicode — пятница — трек B» .
  3. ^ «Десятая международная конференция Unicode — Программа конференции» .
  4. ^ «Схема сжатия для Unicode» .
  5. Перейти обратно: Перейти обратно: а б «Обзор сжатия Unicode» (PDF) .
  6. ^ «UTR#17: Модель кодировки символов» .
  7. ^ https://unicode.org/reports/tr17/tr17-3.html#Синтаксис кодирования передачи
  8. ^ «UTR#17: Модель кодировки символов» . 14 июля 2004 г.
  9. ^ «UTR № 17: Модель кодировки символов Юникода» . unicode.org . Проверено 14 ноября 2023 г.
  10. ^ https://czyborra.com/scsu/scsu.c [ текстовый файл с пустым URL-адресом ]
  11. ^ «Международные компоненты для Unicode» . Гитхаб . 22 октября 2021 г.
  12. ^ «Реализация сжатия Unicode (электронная документация по SQL Server 2008 R2)» . Проверено 18 августа 2008 г.
  13. ^ https://unicode.org/versions/Unicode3.0.0/ch05.pdf [ пустой URL PDF ]
  14. ^ «8.2.2.3. Кодировки символов» . Стандарт HTML 5.1 . W3C.
  15. ^ «8.2.2.3. Кодировки символов» . Стандарт HTML5 . W3C.
  16. ^ «12.2.3.3 Кодировки символов» . HTML Уровень жизни . ЧТОРГ.
  17. ^ «<мета> — HTML» . Веб-документы MDN . Мозилла. Архивировано из оригинала 3 октября 2018 года.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4f9a710d9d259499d2bc2d8712e5e8f5__1699982460
URL1:https://arc.ask3.ru/arc/aa/4f/f5/4f9a710d9d259499d2bc2d8712e5e8f5.html
Заголовок, (Title) документа по адресу, URL1:
Standard Compression Scheme for Unicode - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)