Unicode 표준 압축 방식

Standard Compression Scheme for Unicode

Standard Compression Scheme for Unicode(SSU;[1] Unicode 압축 방식)는 Unicode 텍스트나타내는 데 필요한 바이트 수를 줄이기 위한 Unicode 기술 표준입니다.특히 Unicode 텍스트가 언어별 블록별 문자를 주로 사용하는 경우에는 더욱 그렇습니다.128~255 범위의 값을 128자의 특정 블록 내의 오프셋에 동적으로 매핑함으로써 이를 실현합니다.인코더의 초기 조건은 NULL TAB CR 및 LF 이외의 C0 제어 코드를 포함하지 않음ASCII 및 ISO-8859-1 내의 기존 스트링을 SCSU 스트링으로 취급할 수 있음을 의미합니다.대부분의 알파벳은 연속된 Unicode 코드 포인트 블록에 존재하기 때문에 작은 알파벳을 사용하여 ASCII 구두점 또는 메인 알파벳 창 내에 있는 구두점 중 하나를 사용하는 텍스트는 문자당 1바이트로 인코딩할 수 있습니다(또한 보통 언어의 경우 설정 오버헤드도 1바이트에 불과합니다).다른 구두점은 대부분 인코딩할 수 있습니다.d는 비잠금 시프트를 통해 기호당 2바이트입니다.또한 SCSU는 내부적으로 UTF-16으로 전환하여 알파벳 이외의 언어를 처리할 수도 있습니다.

이력 및 사용방법

로이터는 당초 SCSU를 개발했으며 이후 RSCU for Reuters Compression Scheme for [2][3][4][5]Unicode라는 이름으로 개발했습니다.

처음에 Unicode Consortium은 이것을 문자 [6]인코딩으로 간주했지만 1999년에 생각을 바꿨습니다. 전송 인코딩 구문은 여전히 문자 인코딩으로 간주되었지만, 같은 텍스트에 대해 [7]서로 다른 압축기가 서로 다른 출력을 낼 수 있기 때문에 한동안 문자 인코딩으로 간주되지 않았습니다.다만, 2004년에 이 결정이 되돌아가고, 현재는 SCSU가 단순 문자 부호화 [8]방식 또는 복합 문자 부호화 방식이 아닌 압축 문자 부호화 방식으로 간주되고 있습니다.

(GNU Unifont의) Roman Czyborra는 압축 해제기를 [9]작성했습니다.IBM에서 제공하는 압축 해제기는 [10]Java로 작성된 압축기와 함께 International Components for Unicode에 있습니다.TR6의 첨부 파일로서 보다 심플한 레퍼런스 코덱을 이용할 수 있습니다.

휴대폰 및 기타 모바일 디바이스용 운영체제인 Symbian OS는 SCSU를 사용하여 문자열을 시리얼화합니다.

SQL Server 2008 R2는 SCSU를 사용하여 nchar(n)nvarchar(n) 열에 저장되어 있는 Unicode 값(UCS-2 인코딩 문자열에서 의미)을 압축하여 데이터 [11]언어에 따라 공간을 15~50% 절약합니다(, UTF-8은 Unicode의 ASCII 서브셋에 대해서만 50% 절감합니다).

스킴

여기에서는 압축된SCSU 스트림의 구조에 대해 간단히 설명합니다.상세한 설명(디프레서의 설명과 일치)에 대해서는, UTS #6 의 문서를 참조해 주세요.

부호화 모드

SCSU는 압축된 윈도 인코딩을 사용하는 싱글바이트 모드로 시작합니다.UTF-16BE "Unicode" 모드로 전환하고 해당 모드에서 싱글바이트 모드로 전환하기 위한 명령어가 있습니다.

윈도 부호화

SCSU의 핵심은 바이트 0x80-0xff의 의미를 정의하는 창에 있습니다.스크립트와 구두점을 단순화하기 위한 8가지 정적 창과 더 많은 문자를 사용하는 스크립트를 위한 6가지 유형의 동적 창(및 "반쪽 Unicode 블록" 창과 보충 플레인용 커스텀 Windows)이 있습니다.

단순 창과 동적 창은 모두 특수 명령 문자로 선택됩니다.현재 블록에 맞지 않는 개별 문자의 경우 따옴표를 사용하는 명령 문자가 제공됩니다.

범용 일반 텍스트 압축 방식과의 비교

UTF-16 또는 UTF-8 텍스트는 Unicode 이전 인코딩에서 사용되는 텍스트보다 더 많은 공간을 차지할 수 있으므로 SCSU 등의 압축을 사용하여 [12]이 문제를 완화할 수 있습니다.범용 압축기에 비해 SCSU를 [5]사용하는 것이 반드시 유리하다고는 할 수 없습니다.또한 알고리즘의 스테이트풀한 특성으로 인해 기본적인 텍스트 조작이 간단하지 않기 때문에 내부 텍스트 표현으로 사용할 때 어려움이 발생할 수 있습니다.

압축 알고리즘으로만 취급되는 SCSU는 일반적으로 사용되는 범용 알고리즘보다 몇 킬로바이트가 넘는 텍스트에 비해 열등합니다.

SCSU는 길이가 몇 글자밖에 되지 않는 텍스트를 유용하게 압축할 수 있는 장점이 있지만, 대부분의 풀스케일 압축기에서는 자체 오버헤드에 대해서도 수백 바이트의 데이터가 필요합니다.Symbian OS에서는 SCSU는 클립보드 조작(작은 텍스트 문자열의 잘라내기, 복사 및 붙여넣기 등)에도 사용됩니다.

HTML에서

HTML 문서에서의 SCSU 지원은 W3C[13][14]WHATWG[15] HTML 표준에서는 금지되어 있습니다.HTML은 ASCII 호환성이 없는 인코딩을 염두에 두고 설계되어 있지 않기 때문입니다.과거에는 브라우저의 이러한 인코딩 처리 불량으로 인한 사이트 간 스크립팅 취약성이 [16]입증되었습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "UTS #6: Compression Scheme for Unicode". 2005-05-06. Retrieved 2008-06-13. SCSU defines a compact encoding, which is sometimes useful. However, Unicode text is much more commonly stored and transmitted in UTF-8 which is less compact (except for ASCII), much simpler, and does not present any security issues. For longer texts, general-purpose compression is effective and common.
  2. ^ "Ninth International Unicode Conference - Friday - Track B".
  3. ^ "Tenth International Unicode Conference - Conference Program".
  4. ^ "Compression Scheme for Unicode".
  5. ^ a b "A survey of Unicode compression".
  6. ^ "UTR#17: Character Encoding Model".
  7. ^ https://unicode.org/reports/tr17/tr17-3.html#Transfer 인코딩 구문
  8. ^ "UTR#17: Character Encoding Model".
  9. ^ https://czyborra.com/scsu/scsu.c[베어 URL 플레인텍스트 파일]
  10. ^ "International Components for Unicode". GitHub. 22 October 2021.
  11. ^ "Unicode Compression Implementation (SQL Server 2008 R2 Books Online)". Retrieved 2008-08-18.
  12. ^ https://unicode.org/versions/Unicode3.0.0/ch05.pdf[베어 URL PDF]
  13. ^ "8.2.2.3. Character encodings". HTML 5.1 Standard. W3C.
  14. ^ "8.2.2.3. Character encodings". HTML 5 Standard. W3C.
  15. ^ "12.2.3.3 Character encodings". HTML Living Standard. WHATWG.
  16. ^ "<meta> - HTML". MDN Web Docs. Mozilla. Archived from the original on 3 October 2018.