web-dev-qa-db-ja.com

文字には何ビットまたはバイトがありますか?

「文字」ごとに何ビットまたはバイトがありますか?

75
RedKing

それは、キャラクターが何であり、それがどのエンコーディングにあるかに依存します:

  • 8ビットASCIIエンコーディングのASCII文字は8ビット(1バイト)ですが、7ビットに収まる場合があります。

  • ISO-8859-1エンコーディングのISO-8895-1文字は8ビット(1バイト)です。

  • UTF-8エンコードのUnicode文字は、8ビット(1バイト)〜32ビット(4バイト)です。

  • UTF-16エンコードのUnicode文字は16(2バイト)〜32ビット(4バイト)ですが、一般的な文字のほとんどは16ビットを使用します。これは、Windowsが内部的に使用するエンコードです。

  • UTF-32エンコーディングのUnicode文字は常に32ビット(4バイト)です。

  • UTF-8のASCII文字は8ビット(1バイト)で、UTF-16-16ビットです。

  • ISO-8895-1(0xA0-0xFF)の追加(非ASCII)文字は、UTF-8およびUTF-16で16ビットを使用します。

これは、ビットに0.03125〜0.125文字があることを意味します。

155
Rosh Oxymoron

1バイトに8ビットがあります(通常、Windowsでは)。

ただし、文字を扱う場合は、charset/encodingに依存します。 Unicode文字は2または4バイトであるため、16または32ビットになりますが、 Windows-1252 と呼ばれるANSIは1バイトなので8ビットになることがあります。

アジア版のWindowsおよびその他の一部では、システム全体が2バイトで実行されるため、文字は16ビットです。

編集

Matteoのコメントによると、Windowsのすべての最新バージョンは、文字ごとに内部で16ビットを使用します。

12
RichardTheKiwi