KR101752281B1 - 유티에프-8 코드 문자의 압축 방법 및 장치 - Google Patents

유티에프-8 코드 문자의 압축 방법 및 장치 Download PDF

Info

Publication number
KR101752281B1
KR101752281B1 KR1020160108621A KR20160108621A KR101752281B1 KR 101752281 B1 KR101752281 B1 KR 101752281B1 KR 1020160108621 A KR1020160108621 A KR 1020160108621A KR 20160108621 A KR20160108621 A KR 20160108621A KR 101752281 B1 KR101752281 B1 KR 101752281B1
Authority
KR
South Korea
Prior art keywords
byte
code group
replaced
significant bit
character
Prior art date
Application number
KR1020160108621A
Other languages
English (en)
Inventor
김정훈
Original Assignee
김정훈
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김정훈 filed Critical 김정훈
Priority to KR1020160108621A priority Critical patent/KR101752281B1/ko
Application granted granted Critical
Publication of KR101752281B1 publication Critical patent/KR101752281B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • G06F17/22
    • G06F17/30153
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • H03M7/48Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind alternating with other codes during the code conversion process, e.g. run-length coding being performed only as long as sufficientlylong runs of digits of the same kind are present
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/55Compression Theory, e.g. compression of random number, repeated compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/70Type of the data to be coded, other than image and sound
    • H03M7/705Unicode

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Document Processing Apparatus (AREA)

Abstract

본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 1001로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법에 관한 것이다.

Description

유티에프-8 코드 문자의 압축 방법 및 장치{METHOD AND APPARATUS FOR COMPRESSING UTF-8 CODE CHARACTER}
본 발명은 유티에프-8 코드 문자의 압축 방법 및 장치에 관한 것으로서, 보다 구체적으로는 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 하는, 유티에프-8 코드 문자의 압축 방법 및 장치에 관한 것이다.
일반적으로, 통상의 전송 채널에서 이용 가능한 주파수 대역폭은 제한되어 있으므로, 많은 양의 데이터를 전송하기 위해서 모뎀과 같은 다양한 전송 시스템은 전송 데이터의 양을 압축하거나 줄일 수 있는 효과적인 데이터 압축 기법을 이용해 왔다.
다양한 압축기법 중의 하나로서, 국제 전기 통신 동맹(ITU : International Telecommunication Union)에 의해 표준화된 부호화 알고리즘으로, 모뎀과 같은 데이터 전송 시스템에서 채용하고 있는 CCITT V.42 bis 가 있다. 이 부호화 표준안에 적용된 기초는 Ziv-Lempel code(ZLC)이며, 이 방식은 입력 데이터로부터 적응적으로 사전을 형성해 가면서 앞의 입력 데이터와 동일한 구문(phrase)이 저장되어 있는 사전의 주소값을 부호어로 전송하는 방법이다. 사전화(dictionary) 작업은 입력 데이터와 계속적인 스트링 매칭(string matching)을 수행하여 최대 길이의 매칭 스트링에 매칭안된 문자를 결합하여 사전에 추가하는 과정으로 사전을 업데이트한다.
그러나, 이러한 종래의 압축 방식은 데이터의 압축 및 압축 해제에 대한 처리 연산이 복잡하고 비교적 고사양의 하드웨어적 장치를 필요로 하며, 처리 속도의 향상에 제한이 따르고 압축 결과값에 대한 신뢰성을 높이기 힘든 문제점이 있었다.
한편, 유티에프-8 코드(UTF-8 code)는 유니코드를 위한 가변 길이 문자 인코딩 방식 중 하나로, 켄 톰프슨과 롭 파이크에 의해 만들어졌다. UTF-8 코드는 Universal Coded Character Set + Transformation Format-8bit의 약자이다. 본래는 FSS-UTF(File System Safe UCS/Unicode Transformation Format)라는 이름으로 제안되었다. UTF-8 코드는 아스키코드 체계와 다국어코드를 모두 포함하기 위한 전세계적 표준코드이며, 우리나라에서는 한글을 표현하기 위한 한글 표준 엔코딩 방법이며, 각종 검색엔진에서도 기준코딩으로 쓸만큼 매우 범용적으로 활용되고 있는 코드이다.
도 3은 UTF-8 코드를 포함한 각 문자코드의 웹에서의 활용빈도를 나타낸 것이다. 도 3에 도시된 바와 같이 UTF-8코드는 그 중요도와 활용도가 갈수록 증가하고 있으며, 이러한 UTF-8코드를 보다 효율적이고 최적화된 방법으로 압축하는 기술에 대한 필요성이 갈수록 증가하고 있다.
본 발명의 배경기술은 대한민국 공개특허공보 제 2003-0022630호(2003. 3. 17 공개)에 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는, 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 하는, 유티에프-8 코드 문자의 압축 방법 및 장치를 제공하는 데에 있다.
본 발명의 일측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 1001로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 다른 측면에 따르면, 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 1001로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 101로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 1바이트 코드군에 포함된 문자는 맨앞의 0은 1로 치환하고, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 01로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 001로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 0001로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 00001로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 000001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 110으로 적용하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 10으로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1110으로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 11110으로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 111110으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 10으로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 110으로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1110으로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 11110으로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 111110으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 11로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1001로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 100001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 11로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 101로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1001로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 100001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 또 다른 측면에 따르면, 본 발명은 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및 상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되, 상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고, 상기 압축단계에서 상기 압축부는, 2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 100으로 치환하고, 3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 110으로 치환하고, 4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 111로 치환하고, 5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 1011로 치환하고, 6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 1010으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법을 제공한다.
본 발명의 일측면에 따른 유티에프-8 코드 문자의 압축 방법 및 장치는 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 함으로써, UTF-8코드 문자들의 데이터량을 줄일 수 있고 또한 이를 처리해야 하는 프로세서의 부담도 덜 수 있을 뿐만 아니라, 대용량의 데이터를 전송함에 있어서도 매우 효과적이다.
도 1은 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 장치 및 복원 장치의 구성을 도시한 것이다.
도 2는 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 방법을 설명하기 위한 흐름도이다.
도 3은 UTF-8 코드를 포함한 각 문자코드의 웹에서의 활용빈도를 나타낸 것이다.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고, 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면부호를 붙였다.
명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함" 한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 장치 및 복원장치의 구성을 도시한 것이고, 도 2는 본 발명에 의한 일 실시예에 따른 유티에프-8 코드 문자의 압축 방법을 설명하기 위한 흐름도로서, 이를 참조하여 본 발명의 실시예를 설명하면 다음과 같다.
도 1에 도시된 바와 같이, 본 실시예에 따른 유티에프-8 코드 문자의 압축 장치(100, 이하 "압축 장치"라 함)는 압축부(110) 및 출력부(120)를 포함한다.
압축부(110)는 유티에프-8(UTF-8) 코드 문자를 압축한다. 압축부(110)는 상기 UTF-8 코드 문자 중 각각 구별되는 규칙을 가지고 있는 1바이트군 내지 6바이트군의 각 문자들을 압축한다.
상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자를 의미하고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자를 의미한다. 그리고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자를 의미하고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자를 의미한다. 또한, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자를 의미하고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자를 의미한다.
압축부(110)는 상기와 같이 정의된 UTF-8코드 문자 각각에 대하여 이것이 어느 코드군에 포함된 것인지에 따라 서로 다른 방법으로 압축을 수행하게 된다. 즉, 압축부(110)는 코드군의 맨 앞에 있는 첫번째 바이트의 맨앞의 식별코드라고 할 수 있는 헤더를 일정 방법에 따라 치환하고, 그리고 두번째 바이트 이후의 바이트(들)에 대해서는 각 바이트의 맨앞에 있는 10을 삭제하거나 1 또는 0으로 치환하는 방법을 통하여 각 UTF-8 코드 문자를 압축하는 바, 이에 대해서는 이하 본 실시예의 동작 및 작용 설명시 보다 자세하게 설명한다.
이와 같이 구성된 본 실시예의 동작 및 작용을 도 1 및 도 2를 참조하여 구체적으로 설명한다.
먼저, 압축부(110)는 입력부(미도시)를 통해 UTF-8 코드 문자를 입력받는다(S201).
이어서, 압축부(110)는 상기 UTF-8 코드 문자의 헤더에 근거하여 해당 UTF-8코드 문자의 유형을 확인(식별)한다(S202).
bits of First Last 바이트 Byte 1 Byte 2 Byte 3 Byte 4 Byte 5 Byte 6
code point code point code point 코드군
7 U+0000 U+007F 1 0xxxxxxx
11 U+0080 U+07FF 2 110xxxxx 10xxxxxx
16 U+0800 U+FFFF 3 1110xxxx 10xxxxxx 10xxxxxx
21 U+10000 U+1FFFFF 4 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx
26 U+200000 U+3FFFFFF 5 111110xx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
31 U+4000000 U+7FFFFFFF 6 1111110x 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx 10xxxxxx
표 1은 UTF-8 코드 체계를 나타낸 것이다. UTF-8 코드 체계는 표 1에서와 같이 유니코드의 값의 범위에 따라, 맨 앞에 있는 제 1바이트(byte 1)의 헤더비트(표 1에서 이진수로 표시된 부분)를 달리하면서, 제 1바이트의 헤더비트의 유형에 대응하여 그 이후 제 2바이트에서 제 6바이트(byte 2~byte 6)를 가변적으로 읽어 들일 수 있게 되어 있다. 제 1바이트 후인 제 2바이트 내지 제 6바이트에는 최상위 비트앞에 “10”이 규칙적으로 부가되어 있다.
표 1에서 볼 수 있는 바와 같이 각 UTF-8코드 문자는 맨 앞에 있는 제 1바이트의 헤더비트가 어떤 값인가에 따라 그 유형을 식별할 수 있다. 구체적으로, 제 1바이트가 "0"으로 시작하면 1바이트 코드군으로서 1바이트로 구성되고; 제 1바이트가 "110"으로 시작하면 2바이트 코드군으로서 2바이트로 구성되고; 제 1바이트가 "1110"으로 시작하면 3바이트 코드군으로서 3바이트로 구성되고; 제 1바이트가 "11110"으로 시작하면 4바이트 코드군으로서 4바이트로 구성되고, 제 1바이트가 "111110"으로 시작하면 5바이트 코드군으로서 5바이트로 구성되고, 제 1바이트가 "1111110"으로 시작하면 6바이트 코드군으로서 6바이트로 구성된다.
상기 표 1의 x로 표기한 부분은 유니코드 포인터인 First code point ~ Last code point의 이진화된 비트가 순서대로 표기된 내용을 나타낸다. 예를 들어, U+07FF는 이진수로 111 1111 1111 으로서 전체 11비트이며, 표 1에서처럼 110 xxxxx 10 xxxxxx 안에 110 11111 10 111111 형태로 포함되어 2바이트의 UTF-8 코드로 치환되며, 이러한 원리에 따라 각각의 UTF-8 코드가 구성된다.
UTF-8 코드는 바이트 코드군의 특정 영역 또는 대응하는 유니코드 영역에 각 국가의 문자코드가 할당되어 있는데, 영문자가 포함되어 있는 유니코드의 범위는 (U+0000~U+007F)로서 표 1의 1바이트 코드군에 포함되어 있다. 그리고, 특히 한글이 포함되어 있는 유니코드의 범위는 (U+AC00~U+D7AF)으로서 표 1에서 3바이트 코드군에 포함되어 있다. 이와 같이 각 국가의 문자 코드는 바이트 코드군의 특정 영역 또는 대응하는 유니코드 영역에 할당되어 있다.
한글이 포함되어 있는 3바이트 코드군의 UTF-8 코드를 예로 들면, 3바이트 코드군의 제 1바이트의 헤더는 "1110"이다. 구체적으로, 상기 3바이트 코드군의 문자는 1110으로 시작하는 제 1바이트, 상기 제 1바이트 다음에 위치하고 10으로 시작하는 제 2바이트, 및 상기 제 2바이트 다음에 위치하고 10으로 시작하는 제 3바이트를 포함한다. 본 실시예는 UTF-8 코드 문자들을 각 바이트 코드군에 따라 각각 압축을 수행한다.
본 실시예에서는 UTF-8코드 문자 코드의 유형에 따라 다음과 같이 압축을 수행한다(S203).
제 1실시예
먼저 압축부(110)는 1바이트 코드군에 포함된 문자에 대해서는 별도의 압축을 수행하지 않고 코드 그대로 사용한다. 한편, 압축부(110)는 2바이트 코드군 내지 6바이트 코드군 문자에 대해서는 각 코드군의 유형에 따라 압축을 수행한다.
먼저, 2바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 110은 101로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트의 맨앞의 10은 삭제함으로써, 압축을 수행한다. 이렇게 압축을 수행하게 되면 2바이트 코드군 문자코드의 제 1바이트에서는 별도의 압축효과가 발생하지 않지만, 제 2바이트에서는 2비트의 압축효과가 생긴다. 따라서, 전체적으로는 2바이트 코드군의 문자는 2비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "101"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 2바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "101" + 5비트(즉, 101xxxxx) 다음에 있는 6비트의 이진코드는 맨앞에 "10"이 삭제된 제 2바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
3바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1110은 1001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트와 제 3바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 3바이트 코드군 문자코드의 제 1바이트에서는 별도의 압축효과가 발생하지 않지만, 제 2바이트 내지 제 3바이트에서는 각각 2비트씩 해서 4비트의 압축효과가 생긴다. 따라서, 전체적으로는 3바이트 코드군의 문자는 4비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "1001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 3바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "1001" + 4비트(즉, 1001xxxx) 다음에 있는 12비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트와 제 3바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
그리고, 4바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 11110은 1101로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트 및 제 4바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 4바이트 코드군 문자코드의 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 4바이트에서는 각각 2비트씩 해서 6비트의 압축효과가 생긴다. 따라서, 전체적으로는 4바이트 코드군의 문자는 7비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "1101"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 4바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "1101" + 3비트(즉, 1101xxx) 다음에 있는 18비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 4바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
5바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 111110은 10001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트, 제 4바이트 및 제 5바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 5바이트 코드군 문자코드의 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 5바이트에서는 각각 2비트씩 해서 8비트의 압축효과가 생긴다. 따라서, 전체적으로는 5바이트 코드군의 문자는 9비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "10001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 5바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "10001" + 2비트(즉, 10001xx) 다음에 있는 24비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 5바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
그리고, 6바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1111110은 11001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트, 제 4바이트 및 제 5바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 5바이트 코드군 문자코드의 제 1바이트에서는 2비트의 압축효과가 발생하고, 제 2바이트 내지 제 6바이트에서는 각각 2비트씩 해서 10비트의 압축효과가 생긴다. 따라서, 전체적으로는 6바이트 코드군의 문자는 12비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "11001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 6바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "11001" + 1비트(즉, 11001x) 다음에 있는 30비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 6바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군의 맨앞의 헤더들을 101, 1001, 1101, 10001, 11001과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 최상위 비트의 "1" 이후에 "01"로 끝나는 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
제 2실시예
먼저 압축부(110)는 1바이트 코드군에 포함된 문자에 대해서는 별도의 압축을 수행하지 않고 코드 그대로 사용한다. 한편, 압축부(110)는 2바이트 코드군 내지 6바이트 코드군 문자에 대해서는 각 코드군의 유형에 따라 압축을 수행한다.
본 제 2실시예는 2바이트 코드군과 3바이트 코드군을 압축하는 방법을 제외하면 제 1실시예와 동일하다. 따라서, 여기서는 2바이트 코드군과 3바이트 코드군을 압축하는 것에 대해서 설명한다.
먼저, 2바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 110은 1001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트의 맨앞의 10은 삭제함으로써, 압축을 수행한다. 이렇게 압축을 수행하게 되면 2바이트 코드군 문자코드의 제 1바이트에서는 오히려 1비트가 증가하여 압축효과가 발생하지 않는다. 하지만, 제 2바이트에서는 2비트의 압축효과가 생긴다. 따라서, 전체적으로는 2바이트 코드군의 문자는 1비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "1001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 2바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "1001" + 5비트(즉, 1001xxxxx) 다음에 있는 6비트의 이진코드는 맨앞에 "10"이 삭제된 제 2바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
3바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1110은 101로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트와 제 3바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 3바이트 코드군 문자코드의 제 1바이트에서 1비트의 압축효과가 발생하고, 또한 제 2바이트 내지 제 3바이트에서는 각각 2비트씩 해서 4비트의 압축효과가 생긴다. 따라서, 전체적으로는 3바이트 코드군의 문자는 5비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "101"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 3바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "101" + 4비트(즉, 101xxxx) 다음에 있는 12비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트와 제 3바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
제 2실시예에서 이러한 방법으로 압축을 수행하는 것은 한글을 많이 사용하는 환경, 즉 3바이트 코드군의 문자를 많이 사용하는 환경 하에서는 그 압축률을 보다 높일 수 있다는 점에서 매우 유용하다. 즉, 한글 문자를 쓰는 환경에서는 영문자 등 다른 바이트 코드군의 문자들의 사용 빈도는 한글보다는 월등히 낮을 수밖에 없다. 따라서, 제 2실시예에 따라 압축하면 그 압축률을 더 높일 수 있게 되는 것이다.
참고로, 상기에서 각 코드군의 맨앞의 헤더들을 1001, 101, 1101, 10001, 11001과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 최상위 비트의 "1" 이후에 "01"로 끝나는 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
제 3실시예
먼저 압축부(110)는 1바이트 코드군에 포함된 문자에 대해서는 제 1바이트의 맨앞에 있는 0을 1로 치환한다. 따라서 1바이트 코드군의 문자에 대해서는 별도의 압축효과가 발생하지 않는다.
한편, 2바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 110은 01로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트의 맨앞의 10은 삭제함으로써, 압축을 수행한다. 이렇게 압축을 수행하게 되면 2바이트 코드군 문자코드의 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트에서는 2비트의 압축효과가 생긴다. 따라서, 전체적으로는 2바이트 코드군의 문자는 3비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "01"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 2바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "01" + 5비트(즉, 01xxxxx) 다음에 있는 6비트의 이진코드는 맨앞에 "10"이 삭제된 제 2바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
3바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1110은 001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트와 제 3바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 3바이트 코드군 문자코드의 제 1바이트에서는 1바이트의 압축효과가 발생하고, 제 2바이트 내지 제 3바이트에서는 각각 2비트씩 해서 4비트의 압축효과가 생긴다. 따라서, 전체적으로는 3바이트 코드군의 문자는 5비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 3바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "001" + 4비트(즉, 001xxxx) 다음에 있는 12비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트와 제 3바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
그리고, 4바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 11110은 0001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트 및 제 4바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 4바이트 코드군 문자코드의 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 4바이트에서는 각각 2비트씩 해서 6비트의 압축효과가 생긴다. 따라서, 전체적으로는 4바이트 코드군의 문자는 7비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "0001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 4바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "0001" + 3비트(즉, 0001xxx) 다음에 있는 18비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 4바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
5바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 111110은 00001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트, 제 4바이트 및 제 5바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 5바이트 코드군 문자코드의 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 5바이트에서는 각각 2비트씩 해서 8비트의 압축효과가 생긴다. 따라서, 전체적으로는 5바이트 코드군의 문자는 9비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "00001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 5바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "00001" + 2비트(즉, 10001xx) 다음에 있는 24비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 5바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
그리고, 6바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1111110은 000001로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트, 제 4바이트 및 제 5바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 6바이트 코드군 문자코드의 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 6바이트에서는 각각 2비트씩 해서 10비트의 압축효과가 생긴다. 따라서, 전체적으로는 6바이트 코드군의 문자는 11비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "000001"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 6바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "000001" + 1비트(즉, 000001x) 다음에 있는 30비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 6바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군의 맨앞의 헤더들을 1, 01, 001, 0001, 00001, 000001과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 맨 앞의 n개(n≥0인 정수)의 연속된 "0" 다음에 "1"로 끝나는 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
제 4실시예
먼저 압축부(110)는 1바이트 코드군에 포함된 문자에 대해서는 별도의 압축을 수행하지 않고 코드 그대로 사용한다. 한편, 압축부(110)는 2바이트 코드군 내지 6바이트 코드군 문자에 대해서는 각 코드군의 유형에 따라 압축을 수행한다.
먼저, 2바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 110은 110으로 그대로 적용하고, 제 1바이트의 다음 바이트인 제 2바이트의 맨앞의 10은 삭제함으로써, 압축을 수행한다. 이렇게 압축을 수행하게 되면 2바이트 코드군 문자코드의 제 1바이트에서는 별도의 압축효과가 발생하지 않지만, 제 2바이트에서는 2비트의 압축효과가 생긴다. 따라서, 전체적으로는 2바이트 코드군의 문자는 2비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "110"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 2바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "110" + 5비트(즉, 110xxxxx) 다음에 있는 6비트의 이진코드는 맨앞에 "10"이 삭제된 제 2바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
3바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1110은 10으로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트와 제 3바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 3바이트 코드군 문자코드의 제 1바이트에서는 2비트의 압축효과가 발생하고, 제 2바이트 내지 제 3바이트에서 각각 2비트씩 해서 4비트의 압축효과가 생긴다. 따라서, 전체적으로는 3바이트 코드군의 문자는 6비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "10"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 3바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "10" + 4비트(즉, 10xxxx) 다음에 있는 12비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트와 제 3바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
그리고, 4바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 11110은 1110으로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트 및 제 4바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 4바이트에서는 각각 2비트씩 해서 6비트의 압축효과가 생긴다. 따라서, 전체적으로는 4바이트 코드군의 문자는 7비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "1110"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 4바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "1110" + 3비트(즉, 1101xxx) 다음에 있는 18비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 4바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
5바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 111110은 11110으로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트, 제 4바이트 및 제 5바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 5바이트에서는 각각 2비트씩 해서 8비트의 압축효과가 생긴다. 따라서, 전체적으로는 5바이트 코드군의 문자는 9비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "11110"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 5바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "11110" + 2비트(즉, 10001xx) 다음에 있는 24비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 5바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
그리고, 6바이트 코드군에 포함된 문자의 경우, 압축부(110)는 첫번째 바이트인 제 1바이트의 맨앞의 1111110은 111110으로 치환하고, 제 1바이트의 다음 바이트인 제 2바이트, 제 3바이트, 제 4바이트, 제 5바이트 및 제 6바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다. 이렇게 압축을 수행하게 되면 제 1바이트에서는 1비트의 압축효과가 발생하고, 제 2바이트 내지 제 6바이트에서는 각각 2비트씩 해서 10비트의 압축효과가 생긴다. 따라서, 전체적으로는 6바이트 코드군의 문자는 11비트의 압축효과가 발생하게 된다. 이렇게 압축된 코드는 제 1바이트에 "111110"이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드는 6바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 이에 따라 상기 "111110" + 1비트(즉, 11001x) 다음에 있는 30비트의 이진코드는 맨앞에 "10"이 각각 삭제된 제 2바이트 내지 제 6바이트에 해당하는 코드라는 것을 알 수 있다. 따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군의 맨앞의 헤더들을 110, 10, 1110, 11110, 111110과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 하나 이상의 연속된 "1" 다음에 "0"으로 끝나는 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
참고로, 본 제 4실시예에 따른 압축방법에서는, 3바이트 코드군에 포함된 문자코드의 경우 제 1바이트에서 2비트의 압축효과가 발생하는 것을 포함하여 총 6비트의 압축효과가 발생하게 되므로, 3바이트 코드군에 포함되는 문자들, 예를 들어 한글을 사용하는 문자체계에서 그 압축효과가 극대화될 수 있는 이점이 있다.
제 5실시예
제 5실시예에서는 각 코드군의 제 1바이트를 표 2에 표시된 바와 같이 치환하여 압축을 수행한다.
제1바이트(치환전) 제1바이트(치환후)
1바이트 코드군 0 0
2바이트 코드군 110 10
3바이트 코드군 1110 110
4바이트 코드군 11110 1110
5바이트 코드군 111110 11110
6바이트 코드군 1111110 111110
즉, 압축부(110)는 1바이트 코드군 내지 6바이트 코드군 문자에 대해 각 코드군의 유형에 따라 압축을 수행한다.
구체적으로, 1바이트 코드군은 별도의 압축없이 그대로 사용한다. 그리고, 압축부(110)는 2바이트 코드군의 제 1바이트는 110에서 10으로, 3바이트 코드군의 제 1바이트는 1110에서 110으로, 4바이트 코드군의 제 1바이트는 11110에서 1110으로, 5바이트 코드군의 제 1바이트는 111110에서 11110으로, 6바이트 코드군의 제 1바이트는 1111110에서 111110으로 치환하여 압축한다. 그리고, 2바이트 코드군 내지 6바이트 코드군 각각에서, 제 1바이트의 다음 바이트인 제 2바이트부터는 각 바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다.
이렇게 압축된 코드는 제 1바이트에 각각 0, 10, 110, 1110, 11110, 111110이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드가 어느 바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 해당 압축된 제 1바이트 다음에 있는 한 세트 이상의 6비트 이진코드들은 맨앞에 "10"이 각각 삭제된 제 2바이트 이후의 코드(들)라는 것을 알 수 있다.
따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군(2바이트 코드군~6바이트 코드군)의 맨앞의 헤더들을 10, 110, 1110, 11110, 111110과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 맨 앞의 하나 이상의 연속된 "1" 다음에 "0"으로 끝나는 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
제 6실시예
제 6실시예에서는 각 코드군의 제 1바이트를 표 3에 표시된 바와 같이 치환하여 압축을 수행한다.
제1바이트(치환전) 제1바이트(치환후)
1바이트 코드군 0 0
2바이트 코드군 110 101
3바이트 코드군 1110 11
4바이트 코드군 11110 1001
5바이트 코드군 111110 10001
6바이트 코드군 1111110 100001
즉, 압축부(110)는 1바이트 코드군 내지 6바이트 코드군 문자에 대해 각 코드군의 유형에 따라 압축을 수행한다.
구체적으로, 1바이트 코드군은 별도의 압축없이 그대로 사용한다. 그리고, 압축부(110)는 2바이트 코드군의 제 1바이트는 110에서 101로, 3바이트 코드군의 제 1바이트는 1110에서 11로, 4바이트 코드군의 제 1바이트는 11110에서 1001로, 5바이트 코드군의 제 1바이트는 111110에서 10001로, 6바이트 코드군의 제 1바이트는 1111110에서 100001로 치환하여 압축한다. 그리고, 2바이트 코드군 내지 6바이트 코드군 각각에서, 제 1바이트의 다음 바이트인 제 2바이트부터는 각 바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다.
이렇게 압축된 코드는 제 1바이트에 각각 0, 101, 11, 1001, 10001, 100001이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드가 어느 바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 해당 압축된 제 1바이트 다음에 있는 한 세트 이상의 6비트 이진코드들은 맨앞에 "10"이 각각 삭제된 제 2바이트 이후의 코드(들)라는 것을 알 수 있다.
따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군(2바이트 코드군~6바이트 코드군)의 맨앞의 헤더들을 101, 11, 1001, 10001, 100001과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 "1"과 "1" 및 그 사이에 있는 n개(n≥0인 정수) 이상의 연속된 0으로 이루어진 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
참고로, 본 제 6실시예에 따른 압축방법에서는, 3바이트 코드군에 포함된 문자코드의 경우 제 1바이트에서 2비트의 압축효과가 발생하는 것을 포함하여 총 6비트의 압축효과가 발생하게 되므로, 3바이트 코드군에 포함되는 문자들, 예를 들어 한글을 사용하는 문자체계에서 그 압축효과가 극대화될 수 있는 이점이 있다.
제 7실시예
제 7실시예에서는 각 코드군의 제 1바이트를 표 4에 표시된 바와 같이 치환하여 압축을 수행한다.
제1바이트(치환전) 제1바이트(치환후)
1바이트 코드군 0 0
2바이트 코드군 110 11
3바이트 코드군 1110 101
4바이트 코드군 11110 1001
5바이트 코드군 111110 10001
6바이트 코드군 1111110 100001
즉, 압축부(110)는 1바이트 코드군 내지 6바이트 코드군 문자에 대해 각 코드군의 유형에 따라 압축을 수행한다.
구체적으로, 1바이트 코드군은 별도의 압축없이 그대로 사용한다. 그리고, 압축부(110)는 2바이트 코드군의 제 1바이트는 110에서 11로, 3바이트 코드군의 제 1바이트는 1110에서 101로, 4바이트 코드군의 제 1바이트는 11110에서 1001로, 5바이트 코드군의 제 1바이트는 111110에서 10001로, 6바이트 코드군의 제 1바이트는 1111110에서 100001로 치환하여 압축한다. 그리고, 2바이트 코드군 내지 6바이트 코드군 각각에서, 제 1바이트의 다음 바이트인 제 2바이트부터는 각 바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다.
이렇게 압축된 코드는 제 1바이트에 각각 0, 11, 101, 1001, 10001, 100001이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드가 어느 바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 해당 압축된 제 1바이트 다음에 있는 한 세트 이상의 6비트 이진코드들은 맨앞에 "10"이 각각 삭제된 제 2바이트 이후의 코드(들)라는 것을 알 수 있다.
따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군(2바이트 코드군~6바이트 코드군)의 맨앞의 헤더들을 11, 101, 1001, 10001, 100001과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 "1"과 "1" 및 그 사이에 있는 n개(n≥0인 정수) 이상의 연속된 0으로 이루어진 코드들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
제 8실시예
제 8실시예에서는 각 코드군의 제 1바이트를 표 5에 표시된 바와 같이 치환하여 압축을 수행한다.
제1바이트(치환전) 제1바이트(치환후)
1바이트 코드군 0 0
2바이트 코드군 110 100
3바이트 코드군 1110 110
4바이트 코드군 11110 111
5바이트 코드군 111110 1011
6바이트 코드군 1111110 1010
즉, 압축부(110)는 1바이트 코드군 내지 6바이트 코드군 문자에 대해 각 코드군의 유형에 따라 압축을 수행한다.
구체적으로, 1바이트 코드군은 별도의 압축없이 그대로 사용한다. 그리고, 압축부(110)는 2바이트 코드군의 제 1바이트는 110에서 100으로, 3바이트 코드군의 제 1바이트는 1110에서 110으로, 4바이트 코드군의 제 1바이트는 11110에서 111로, 5바이트 코드군의 제 1바이트는 111110에서 1011로, 6바이트 코드군의 제 1바이트는 1111110에서 1010으로 치환하여 압축한다. 그리고, 2바이트 코드군 내지 6바이트 코드군 각각에서, 제 1바이트의 다음 바이트인 제 2바이트부터는 각 바이트의 맨앞의 10은 삭제함으로써 압축을 수행한다.
이렇게 압축된 코드는 제 1바이트에 각각 0, 100, 110, 111, 1011, 1010이 있기 때문에, 이를 통해 해당 압축된 문자 코드의 원본 문자 코드가 어느 바이트 코드군에 포함된 문자코드라는 것을 식별할 수 있고, 해당 압축된 제 1바이트 다음에 있는 한 세트 이상의 6비트 이진코드들은 맨앞에 "10"이 각각 삭제된 제 2바이트 이후의 코드(들)라는 것을 알 수 있다.
따라서, 이를 통해 이후 복원장치(200)의 복원부(220)는 해당 압축된 문자코드의 원본 문자코드를 복원해 낼 수 있다.
참고로, 상기에서 각 코드군(2바이트 코드군~6바이트 코드군)의 맨앞의 헤더들을 100, 110, 111, 1011, 1010과 같이 치환했는데, 이렇게 치환된 이진수 부분은 모두 허프만 코드 계열의 유일복호성을 갖는 이진수들로서 다른 코드들과 쉽게 구별하여 식별할 수 있고, 그 이후에 오는 이진수도 쉽게 식별할 수 있다. 유일 복호성이란 다수의 코드를 조합하더라도, 데이터 복호화장치(200)에서 별도의 구분자없이도 해당 코드를 복호화하는 방법이 하나밖에 없다는 것을 의미하는 것이다.
한편, 상기에서는 제 1바이트 다음에 있는 바이트들(즉, 제 2 바이트~제 6바이트)의 맨앞에 있는 "10"을 모두 삭제하여 압축하는 경우를 예로 들었으나, 이에 한정되지 않고 실시예에 따라서는 상기 "10"을 1 또는 0으로 치환하여 압축할 수도 있다.
---------------------------------------------------------------------
마지막으로, 출력부(120)는 상기와 같이 압축된 문자를 유티에프-8 코드 문자의 복원장치(200) 등의 목적장치로 출력한다(S204).
이후, 유티에프-8 코드 문자의 복원장치(200)에서 복원부(220)는 입력부(210)를 통해 상기 압축된 UTF-8코드 문자를 입력받아 이를 복원한다. 복원부(220)는 상기 압축부(210)에서 적용된 압축규칙을 역으로 적용하여 원본 UTF-8 코드문자를 복원한다.
이상 살펴 본 바와 같이, 본 발명의 일측면에 따른 유티에프-8 코드 문자의 압축 방법 및 장치는 간단한 연산을 통해 유티에프-8 코드(UTF-8 CODE) 방식의 문자를 효과적이고 효율적으로 압축할 수 있도록 함으로써, UTF-8코드 문자들의 데이터량을 줄일 수 있고 또한 이를 처리해야 하는 프로세서의 부담도 덜 수 있을 뿐만 아니라, 대용량의 데이터를 전송함에 있어서도 매우 효과적이다.
이상에서 본 발명의 실시 예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고, 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.
100 : 유티에프-8 코드 문자의 압축 장치
110 : 압축부 120 : 출력부
200 : 유티에프-8 코드 문자의 복원장치
210 : 입력부 220 : 복원부

Claims (32)

  1. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 1001로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  2. 제 1항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  3. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 1001로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  4. 제 3항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  5. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 1001로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 101로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  6. 제 5항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  7. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 1001로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 101로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1101로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 11001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  8. 제 7항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  9. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    1바이트 코드군에 포함된 문자는 맨앞의 0은 1로 치환하고,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 01로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 001로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 0001로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 00001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 000001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  10. 제 9항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  11. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    1바이트 코드군에 포함된 문자는 맨앞의 0은 1로 치환하고,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 01로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 001로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 0001로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 00001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 000001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  12. 제 11항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  13. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 110으로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 10으로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1110으로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 11110으로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 111110으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  14. 제 13항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  15. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 110으로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 10으로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1110으로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 11110으로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 111110으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  16. 제 15항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  17. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 10으로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 110으로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1110으로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 11110으로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 111110으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  18. 제 17항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  19. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 10으로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 110으로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1110으로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 11110으로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 111110으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  20. 제 19항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  21. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 11로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1001로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 100001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  22. 제 21항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  23. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 101로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 11로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1001로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 100001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  24. 제 23항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  25. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 11로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 101로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1001로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 100001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  26. 제 25항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  27. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 11로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 101로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 1001로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 10001로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 100001로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  28. 제 27항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  29. 압축부가 유티에프-8(UTF-8) 코드 문자를 입력받는 입력단계; 및
    상기 압축부가 UTF-8 코드 문자를 압축하는 압축단계를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    상기 압축단계에서 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 100으로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 110으로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 111로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 1011로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 1010으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  30. 제 29항에 있어서, 상기 압축단계에서 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 방법.
  31. 유티에프-8(UTF-8) 코드 문자를 압축하는 압축부를 포함하되,
    상기 UTF-8 코드 문자 중, 1바이트 코드군에 포함된 문자는 최상위비트로부터 0으로 시작하고 1바이트로 이루어진 문자이고, 2바이트 코드군에 포함된 문자는 최상위비트로부터 110으로 시작하고 2바이트로 이루어진 문자이고, 3바이트 코드군에 포함된 문자는 최상위비트로부터 1110으로 시작하고 3바이트로 이루어진 문자이고, 4바이트 코드군에 포함된 문자는 최상위비트로부터 11110으로 시작하고 4바이트로 이루어진 문자이고, 5바이트 코드군에 포함된 문자는 최상위비트로부터 111110으로 시작하고 5바이트로 이루어진 문자이고, 6바이트 코드군에 포함된 문자는 최상위비트로부터 1111110으로 시작하고 6바이트로 이루어진 문자이고,
    압축시 상기 압축부는,
    2바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 110은 100으로 치환하고,
    3바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1110은 110으로 치환하고,
    4바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 11110은 111로 치환하고,
    5바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 111110은 1011로 치환하고,
    6바이트 코드군에 포함된 문자는 첫번째 바이트의 맨앞의 1111110은 1010으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.
  32. 제 31항에 있어서, 압축시 상기 압축부는,
    상기 2바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 3바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 3번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 4바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 4번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 5바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 5번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하고,
    상기 6바이트 코드군에 포함된 문자의 경우, 최상위비트로부터 두번째 바이트 내지 6번째 바이트의 맨앞의 10은 삭제하거나 1 또는 0으로 치환하여 압축을 수행하는 것을 특징으로 하는, 유티에프-8 코드 문자의 압축 장치.

KR1020160108621A 2016-08-25 2016-08-25 유티에프-8 코드 문자의 압축 방법 및 장치 KR101752281B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160108621A KR101752281B1 (ko) 2016-08-25 2016-08-25 유티에프-8 코드 문자의 압축 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160108621A KR101752281B1 (ko) 2016-08-25 2016-08-25 유티에프-8 코드 문자의 압축 방법 및 장치

Publications (1)

Publication Number Publication Date
KR101752281B1 true KR101752281B1 (ko) 2017-07-11

Family

ID=59354594

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160108621A KR101752281B1 (ko) 2016-08-25 2016-08-25 유티에프-8 코드 문자의 압축 방법 및 장치

Country Status (1)

Country Link
KR (1) KR101752281B1 (ko)

Similar Documents

Publication Publication Date Title
JP3541930B2 (ja) 符号化装置及び復号化装置
US6100824A (en) System and method for data compression
US5608396A (en) Efficient Ziv-Lempel LZI data compression system using variable code fields
JP3258552B2 (ja) データ圧縮装置及びデータ復元装置
US5970177A (en) Data compression using selective encoding
US7764202B2 (en) Lossless data compression with separated index values and literal values in output stream
US8872677B2 (en) Method and apparatus for compressing data-carrying signals
EP0903866B1 (en) Method and apparatus for data compression
CN108737976A (zh) 一种基于北斗短报文的压缩传输方法
US6240213B1 (en) Data compression system having a string matching module
KR101791877B1 (ko) 유티에프-8 코드 문자의 압축 방법 및 장치
KR101752281B1 (ko) 유티에프-8 코드 문자의 압축 방법 및 장치
Rathore et al. A brief study of data compression algorithms
KR101791880B1 (ko) 유티에프-8 코드 문자의 압축 방법 및 장치
JP2536422B2 (ja) デ―タ圧縮装置及びデ―タ復元装置
Shanmugasundaram et al. IIDBE: A lossless text transform for better compression
KR102098644B1 (ko) 유티에프-8 코드 문자의 압축 방법 및 장치
Shanmugasundaram et al. Text preprocessing using enhanced intelligent dictionary based encoding (EIDBE)
KR20180004409A (ko) 일반적인 utf-8 형태로 엔코딩된 이진데이터의 실시간 무손실 압축방법
KR20180047738A (ko) Utf-8 문자코드의 압축방법
KR101632115B1 (ko) 이진 데이터의 압축 및 복원 방법과 장치
KR102361730B1 (ko) 데이터 압축 방법 및 장치
KR101682829B1 (ko) 메시지 압축 방법 및 장치
KR20180006011A (ko) Utf-8 코드 문자체계에 있어서, byte 1 에 대한 3비트 압축을 통한 한글메시지의 집중적 압축방법 및 그 장치
KR20180004410A (ko) 일반적인 utf-8 형태로 엔코딩된 이진데이터의 실시간 무손실 압축방법

Legal Events

Date Code Title Description
GRNT Written decision to grant