コンピュータエンジニアリング-文字列


Unicode符号化方式


UTF-8とUTF-16


Unicodeって何?
Unicode(Unicode)は、Unicode Consortiumによって制定されたグローバルなすべての文字をコンピュータが一貫して表現し、処理できるようにするための工業標準である.
タイプ->(ISO 10646文字セット、文字コード、文字情報データベース、文字処理アルゴリズム)기본적으로 유니코드의 목적은 현존하는 문자 인코딩 방법을 모두 유니코드로 교체하는 겁니다.コードとは何ですか.인코딩이란 어떤 문자나 기호를 컴퓨터가 이용할 수 있는 신호로 만드는 것입니다.この信号を入力する符号化および復号化디코딩文字は、予め定義された基準に従って入力および復号化されなければならない.
こうして인코딩과 디코딩의 기준을 문자열 세트 또는 문자셋(charset)この文字セットの国際標準はUnicodeです.
ASCII文字は何ですか?
文字コード7 비트로 모든 영어 알파벳は、英字で表されます.
52文字の英字大文字小文字、10文字、32文字の特殊文字、スペースが含まれます.
유니코드는 ASCII를 확장한 형태입니다.
UTF-8とUTF-16の違いは何ですか?
UTF-8とUTF-16は符号化方式の違いを表す.
UTF-8はUniversal Coded Character Set+Transformation Format–8ビットの略です.
UTF-の後ろの数字はビット(bit)です.
  • UTF-8特性:可変長符号化
    UTF-8は、Unicode文字を1バイト(=8ビット)から4バイトで表す.

  • n/a原理
    文字のUnicodeは、U+CF 54(16進数、HEX)として表される.
    この文字をバイナリ番号(binary number)で表すと、1100-1111-0101-0100です.
    この文字をUTF-8として表すと、以下のように3バイトの結果として表示されます.

  • ルール#ルール#
    1バイト文字:先頭は0です.EG) 01000001
    2バイト文字:1番目の110、2番目の10.EG)11000110 10110010
    3バイト文字:1番目の1110、2番目の1110、3番目の10.

  • 1110xxxx 10xxxxxx 10xxxxxx # x 안에 순서대로 값을 채워넣습니다.
    11101100 10111101 10010100
    [데이터] UTF-8로 표현된 '코'
    let encoder = new TextEncoder(); // 기본 인코딩은 'utf-8'
    encoder.encode('코') // Uint8Array(3) [236, 189, 148]
    
    (236).toString(2) // "11101100"
    (189).toString(2) // "10111101"
    (148).toString(2) // "10010100"
    [코드] '코'라는 문자를 UTF-8로 표현할 수 있습니다.
    次の例では、bという文字をUTF-8として符号化します.
    0xxxxxxx
    01100010 
    [데이터] UTF-8로 표현된 'b'
    encoder.encode('b') // Uint8Array [98]
    (98).toString(2) // "1100010"
    [코드] 'b'라는 문자를 UTF-8로 표현할 수 있습니다.
    UTF-8은 ASCII 코드의 경우 1 byte, 크게 영어 외 글자는 2byte, 3byte, 보조 글자는 4byte를 차지합니다. 이모지는 보조 글자에 해당하기 때문에 4byte가 필요합니다.

  • UTF-8特性:バイト順固定
    UTF-16と比較して、バイト順ではなく順番に並べ替えられています.

  • UTF-16の特性:バイトでコードを表すことができて、バイトの順序は多種多様ですUTF-16은 유니코드 코드 대부분(U+0000부터 U+FFFF; BMP) 을 16 bits.
  • 他のほとんどの文字
  • に属さない文字は32ビット(4バイト)であるため、UTF-16は可変長であってもよいが、多くは2バイト
  • である.
    U+ABCDという16進数をバイナリに変換すると、1010-1011-1011-1011になります.バイナリ文字は16ビット(2バイト)で使用され、UTF-16のタイプはバイト順に依存する.UTF-8에서는 한글은 3 바이트, UTF-16에서는 2 바이트를 차지합니다.