Uni-code


Byte


ほとんどのコンピュータシステムでは、情報のデフォルト単位は
  • で、長さは8ビットです.
  • 英語、数字と特殊文字(アスキー文字表)などは1文字、1 byte、韓国語または漢字などは1文字、2 byte
  • の使用状況により(より大きな単位が必要な場合)
  • ビット文字列
    例えば、
  • は、連続するビットが画像を表すプログラムのために可視画像を構築する必要がある場合、
  • である.
  • 一部のコンピュータシステムは、プロセッサが各命令をより効率的に読み取り、処理できるように4 Byteを1ワードに構成しているが、一部のコンピュータプロセッサは2 Byteまたは1 Bye命令を処理することができる.
  • タグ:Byteは英語大文字「B」、小文字「B」はBit
  • コンピュータ記憶装置は、通常、バイト単位で
    たとえば、850 MBのHDDには、通常、85億バイトの情報が含まれます.
  • 56 Kbpsモデムは、毎秒56000 bitの速度で
  • を実行します.
  • の記憶空間はバイト単位で、伝送容量は毎秒ビット数で
  • を計算する.

    Unicode

  • Unicode協会は、コンピュータ上で世界のすべての文字を統一的に表現し、処理できる業界標準を制定した.
  • ISO 10646文字セット、文字コード、文字情報データベース、および文字を処理するアルゴリズムを含む

    エンコーディング

  • は、コンピュータ科学の分野で効率的に伝送または記憶するために、特殊なフォーマットで文字を表す包括的な概念
  • である.
  • は、任意の文字または記号をコンピュータで利用可能な信号
  • とする.
  • 入力信号の符号化及び復号化文字ストリームの復号化は、予め設定する規格に基づいて入力及び復号化されなければならない
  • .
  • 文字セット:符号化および復号化の標準.この文字セットの国際標準はUnicode
  • です.
  • Bast 64符号化
  • のバイナリデータをテキストに変換する符号化方法であって、バイナリデータを文字セットの影響を受けない汎用ASCII領域の文字文字文字列
  • に変換する.
  • 以降の数字64は64進数
  • を表す.
  • 64進数はコンピュータにとって特別で、原因は64が2の平方64=2^6であり、2の平方数に基づく進数の中で画面に表示されるASCII文字数が最も多いものである(ASCIIは複数の制御文字を含み、画面に表示されるASCII文字は128個未満).
  • の核心は、Base 64符号化がバイナリデータをテキストに変換する符号化
  • である.
  • の変更方法について簡単に説明します.すなわち、次のBase 64インデックステーブルで6ビットあたりのバイナリデータを検索し、対応する文字を
  • に置き換えます(実際にはPaddingが追加されたプロセスです).
  • Base64 Table
  • JSにおいて、Base 64符号化
  • btoa('Hello world!'); // 'SGVsbG8gV29ybGQh' return
    atob('SGVsbG8gV29ybGQh'); // 'hello world' return
    なぜ
  • Base 64符号化を使用するのか
  • 符号化伝送を必要とするデータは約33%増加(6ビット毎に2 bitのオーバーヘッドを発生)
  • .
    それでも、
  • は、テキストの転送に特化して設計されたメディア(電子メール、html)がプラットフォームとは独立してバイナリデータを転送する必要がある場合に、その転送または格納が同じであることを保証するために使用されている.
  • ASCII

  • 英字の代表的な文字符号化を使用して、7 bitはすべての英字
  • として表すことができる.
  • 52英大文字小文字、10数字、32特殊文字、1スペース
  • UnicodeはAskyコードの拡張形式
  • である

    UTF-8, UTF-16


    UTF-8

  • 符号化方式
  • は、1文字あたり1バイトから4バイトまで異なる.
  • ネットワークに送信されるテキストは主にこれである.
  • UTF-8は1 byte、英単文字は2,3バイト、補助文字は4 byte
  • 原理
  • 「co」文字のUnicodeはU+CF 54(16進)
  • バイナリ、1100-1111-0101-0100
  • はUTF-8として符号化する、
    1110xxxx 10xxxxxx 10xxxxxx
    11101010010111110110010100//は
    let encoder = bew TextEncoder();
    encoder.encode('코') // Uint8Array(3) [236,189,148]
    (236).toString(2) // 11101100
    (189).toString(2) // 10111101
    (148).toString(2) // 10010100
  • アスキーコードは7ビットで、UTF-8は
  • を1バイトで表す.

    UTF-16

  • Unicodeの大部分は16 bit(2 byte,U+0000からU+FFF;BMP)と表される
  • UTF-8では、ハングルが3バイト、UTF-16が2バイトです.
  • 差異

  • UTF-8は、UTF-16と比較するバイト順ではなく、固定順に並ぶ
  • である.