バイト
バイトとは、コンピュータで使われる最も基本的な情報単位のひとつで、ビットと呼ばれる情報単位を8つあわせて表現する単位のことである。
コンピュータが解釈する情報は「0」と「1」の2進法の数で構成される。0あるいは1の情報単位はビットと呼ばれる。1ビットが8つ並んで8ビットを形成すると、256種類のアルファベット、数字、カナなどの文字に対応させることができる。日本語の漢字を表現するには2バイトが必要である。2バイトあると4096文字までに対応させることができる。なお、通信の分野では8ビットを1オクテット(octet)と区別して読んでいる。そして必ずしも8ビットではなくバイトの単位が用いられる場合もある。
Byte フィールド
Byte メソッド

名前 | 説明 | |
---|---|---|
![]() | CompareTo | オーバーロードされます。 指定したオブジェクトまたは Byte とこのインスタンスを比較し、これらの相対値を示す値を返します。 |
![]() | Equals | オーバーロードされます。 Byte の 2 つのインスタンスが同じ値を表しているかどうかを示す値を返します。 |
![]() | GetHashCode | オーバーライドされます。 このインスタンスのハッシュ コードを返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | GetTypeCode | Byte 値型の TypeCode を返します。 |
![]() | Parse | オーバーロードされます。 数値の文字列形式を、それと等価の Byte に変換します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | オーバーロードされます。 オーバーライドされます。 このインスタンスの数値を、それと等価の文字列に変換します。 |
![]() | TryParse | オーバーロードされます。 数値の文字列形式を、それと等価の Byte に変換します。戻り値は、変換が成功したか失敗したかを示します。 |

名前 | 説明 | |
---|---|---|
![]() | System.IConvertible.ToBoolean | Byte のこのインスタンスをブール値に変換します。 |
![]() | System.IConvertible.ToByte | Byte のこのインスタンスの値を返します。 |
![]() | System.IConvertible.ToChar | Byte のこのインスタンスを Unicode 文字に変換します。 |
![]() | System.IConvertible.ToDateTime | この変換はサポートされていません。変換を試みると、InvalidCastException がスローされます。 |
![]() | System.IConvertible.ToDecimal | Byte のこのインスタンスを Decimal 形式に変換します。 |
![]() | System.IConvertible.ToDouble | Byte のこのインスタンスを Double として変換します。 |
![]() | System.IConvertible.ToInt16 | Byte のこのインスタンスを Int16 に変換します。 |
![]() | System.IConvertible.ToInt32 | Byte 値のこのインスタンスを Int32 に変換します。 |
![]() | System.IConvertible.ToInt64 | Byte のこのインスタンスを Int64 に変換します。 |
![]() | System.IConvertible.ToSByte | Byte のこのインスタンスを SByte に変換します。 |
![]() | System.IConvertible.ToSingle | Byte を Single に変換します。 |
![]() | System.IConvertible.ToType | Byte のこのインスタンスを、指定した Type のオブジェクトに変換します。 |
![]() | System.IConvertible.ToUInt16 | Byte のこのインスタンスを UInt16 に変換します。 |
![]() | System.IConvertible.ToUInt32 | Byte を UInt32 に変換します。 |
![]() | System.IConvertible.ToUInt64 | Byte を UInt64 に変換します。 |

Byte メンバ


名前 | 説明 | |
---|---|---|
![]() | CompareTo | オーバーロードされます。 指定したオブジェクトまたは Byte とこのインスタンスを比較し、これらの相対値を示す値を返します。 |
![]() | Equals | オーバーロードされます。 Byte の 2 つのインスタンスが同じ値を表しているかどうかを示す値を返します。 |
![]() | GetHashCode | オーバーライドされます。 このインスタンスのハッシュ コードを返します。 |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | GetTypeCode | Byte 値型の TypeCode を返します。 |
![]() | Parse | オーバーロードされます。 数値の文字列形式を、それと等価の Byte に変換します。 |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | オーバーロードされます。 オーバーライドされます。 このインスタンスの数値を、それと等価の文字列に変換します。 |
![]() | TryParse | オーバーロードされます。 数値の文字列形式を、それと等価の Byte に変換します。戻り値は、変換が成功したか失敗したかを示します。 |

名前 | 説明 | |
---|---|---|
![]() | System.IConvertible.ToBoolean | Byte のこのインスタンスをブール値に変換します。 |
![]() | System.IConvertible.ToByte | Byte のこのインスタンスの値を返します。 |
![]() | System.IConvertible.ToChar | Byte のこのインスタンスを Unicode 文字に変換します。 |
![]() | System.IConvertible.ToDateTime | この変換はサポートされていません。変換を試みると、InvalidCastException がスローされます。 |
![]() | System.IConvertible.ToDecimal | Byte のこのインスタンスを Decimal 形式に変換します。 |
![]() | System.IConvertible.ToDouble | Byte のこのインスタンスを Double として変換します。 |
![]() | System.IConvertible.ToInt16 | Byte のこのインスタンスを Int16 に変換します。 |
![]() | System.IConvertible.ToInt32 | Byte 値のこのインスタンスを Int32 に変換します。 |
![]() | System.IConvertible.ToInt64 | Byte のこのインスタンスを Int64 に変換します。 |
![]() | System.IConvertible.ToSByte | Byte のこのインスタンスを SByte に変換します。 |
![]() | System.IConvertible.ToSingle | Byte を Single に変換します。 |
![]() | System.IConvertible.ToType | Byte のこのインスタンスを、指定した Type のオブジェクトに変換します。 |
![]() | System.IConvertible.ToUInt16 | Byte のこのインスタンスを UInt16 に変換します。 |
![]() | System.IConvertible.ToUInt32 | Byte を UInt32 に変換します。 |
![]() | System.IConvertible.ToUInt64 | Byte を UInt64 に変換します。 |

Byte 構造体
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ Public Structure Byte Implements IComparable, IFormattable, IConvertible, IComparable(Of Byte), _ IEquatable(Of Byte)
[SerializableAttribute] [ComVisibleAttribute(true)] public struct Byte : IComparable, IFormattable, IConvertible, IComparable<byte>, IEquatable<byte>
[SerializableAttribute] [ComVisibleAttribute(true)] public value class Byte : IComparable, IFormattable, IConvertible, IComparable<unsigned char>, IEquatable<unsigned char>

Byte 値型は、値が 0 から 255 までの範囲の符号なし整数を表します。
Byte は、この型のインスタンスを比較したり、インスタンスの値を文字列形式に変換したり、数値の文字列形式をこの型のインスタンスに変換するためのメソッドを提供します。
書式指定コードで値型の文字列形式を制御する方法については、「書式設定の概要」を参照してください。
この型は、IComparable、IComparable、IFormattable、IConvertible の各インターフェイスを実装します。この型の明示的な IConvertible インターフェイス メンバの実装の代わりに、Convert クラスを使用します。

バイトの配列を 16 進値で表現した文字列に変換する際の Byte の使用例を次に示します。
Class HexTest Private Shared hexDigits As Char() = {"0"c, "1"c, "2"c, "3"c, "4"c, "5"c, "6"c, "7"c, "8"c, "9"c, "A"c, "B"c, "C"c, "D"c, "E"c, "F"c} Public Shared Function ToHexString(bytes() As Byte) As String Dim hexStr As String = "" Dim i As Integer For i = 0 To bytes.Length - 1 hexStr = hexStr + Hex(bytes(i)) Next i Return hexStr End Function 'ToHexString Shared Sub Main() Dim b As Byte() = {&H0, &H12, &H34, &H56, &HAA, &H55, &HFF} Console.WriteLine(ToHexString(b)) End Sub 'Main End Class 'HexTest
class HexTest { static char[] hexDigits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'}; public static string ToHexString(byte[] bytes) { char[] chars = new char[bytes.Length * 2]; for (int i = 0; i < bytes.Length; i++) { int b = bytes[i]; chars[i * 2] = hexDigits[b >> 4]; chars[i * 2 + 1] = hexDigits[b & 0xF]; } return new string(chars); } static void Main() { byte[] b = {0x00, 0x12, 0x34, 0x56, 0xAA, 0x55, 0xFF}; Console.WriteLine(ToHexString(b)); } }
ref class HexTest { private: static array<Char>^hexDigits = {'0','1','2','3','4','5' ,'6','7','8','9','A','B','C','D','E','F'}; public: static String^ ToHexString( array<Byte>^bytes ) { array<Char>^chars = gcnew array<Char>(bytes->Length * 2); for ( int i = 0; i < bytes->Length; i++ ) { int b = bytes[ i ]; chars[ i * 2 ] = hexDigits[ b >> 4 ]; chars[ i * 2 + 1 ] = hexDigits[ b & 0xF ]; } return gcnew String( chars ); } }; int main() { array<Byte>^b = {0x00,0x12,0x34,0x56,0xAA,0x55,0xFF}; Console::WriteLine( HexTest::ToHexString( b ) ); }
class HexTest { private static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; public static String ToHexString(ubyte bytes[]) { char chars[] = new char[bytes.get_Length() * 2]; for (int i = 0; i < bytes.get_Length(); i++) { int b = System.Convert.ToInt32( System.Convert.ToString(bytes.get_Item(i))); chars.set_Item((i * 2), hexDigits.get_Item(b >> 4)); chars.set_Item((i * 2 + 1), hexDigits.get_Item(b & 0xF)); } return new String(chars); } //ToHexString public static void main(String[] args) { ubyte b[] = { 0x0, 0x12, 0x34, 0x56, 0xAA, 0x55, 0xFF }; Console.WriteLine(ToHexString(b)); } //main } //HexTest


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


バイト (情報)
プロセッサ |
---|
4ビット • 8ビット • 12ビット • 16ビット • 18ビット • 24ビット • 31ビット • 32ビット • 36ビット • 48ビット • 60ビット • 64ビット • 128ビット |
アプリケーション |
16ビット • 32ビット • 64ビット |
データサイズ |
ニブル • オクテット • バイト • ワード |

バイト (英: byte) は、「複数ビット」を意味する、データ量あるいは情報量の単位である。
1980年頃から1バイトは8ビット (bit) であることが一般的であり、 正式に定義されたのは2008年発行のIEC 80000-13である。8ビットは、256個の異なる値(たとえば整数であれば、符号無しで0から255、符号付きで−128から+127、など)を表すことができる。
概要
本来バイトとは、8ビット固定ではなく、扱う文字種や、あるいはワードサイズをいくつかに分割することによって決められる、1文字を表現する単位で、古くは直接的に「字」とか「キャラクタ」とも呼ばれていた単位に由来するものである(→「キャラクタマシン」および「ワードマシン」を参照)。歴史的には5ビットから12ビットまで存在したと言われる。DEC PDP-10、NEC ACOS-6など、初期のコンピュータの多くでは6ビット、また7ビットや9ビットとして扱うコンピュータもあった。
しかし、System/360に始まり現在までその基本が引き継がれている、IBMのメインフレームのアーキテクチャが8ビットバイトであり、ミニコンピュータのベストセラーVAXや、8ビット時代以降のマイクロプロセッサの多くもそれに準じた設計であることもあり、一般にバイトは8ビットであることが多い。しかしそれでも、例えば通信分野などで、8ビットであることを明示するために、「オクテット」という語が使われることがある。
電子媒体の容量などは、ビット単位で表されることもあるが(チップの場合には構造上の理由もある[注 1])一般利用者の便宜上の観点からバイト単位で表されることが多い。メモリ空間のアドレッシングをバイト単位とするのは、前述のSystem/360で確立されたデファクトスタンダードである。バイトという語は情報量が1バイトの情報自体を指しても使われ、例えば「指定のバイトを読む」「バイトを処理する」などの言い回しに使用される。
単位としては、Bと略記され、同様にビットは小文字でbと略記されることがある。ただし、SI接頭語が付かない単なるバイトやビットは、意味が通じなかったり、誤解を招いたりする恐れがあるため、それぞれbyte (bytes)、bit (bits) と表記されることが望ましい。大きな情報量を表現する場合にはキロ、メガなどの2進接頭辞またはSI接頭語と共に使用される。1キロバイト (KB) は、場合によって1,000バイトとして扱われる場合と1,024 (210) バイトとして扱われる場合がある。2進接頭辞を使って1キビバイト (KiB) と表記した場合は必ず1,024バイトである。
国際単位系国際文書は、SI接頭語は厳格に10の整数乗を意味しているもので、2のべき乗を示すために用いてはならないと規定している[1]。したがって、1キロバイト (KB) を1,024 (210) バイトとして扱うことは禁じられている。
符号位置
Unicodeには全角幅での単位記号も収録されているが、これらはCJK互換用文字であり、既存の文字コードに対する後方互換性のために収録されているものであるので、使用は推奨されない[2][3]。一部、Unicodeに含まれずMacJapaneseに収録。
記号 | Unicode | JIS X 0213 | 文字参照 | 名称 |
---|---|---|---|---|
㎅ | U+3385 |
- |
㎅ ㎅ |
キロバイト |
㎆ | U+3386 |
- |
㎆ ㎆ |
メガバイト |
㎇ | U+3387 |
- |
㎇ ㎇ |
ギガバイト |
TB | MacJapanese:0x865D CSS: font-feature-settings: "dlig" 1; |
テラバイト |
脚注
注釈
- ^ ファミコンブームの時代には、カセットに搭載しているROMチップ(半導体部品業界ではビット単位が使われることが多い)のスペックを言っている、という理屈の下「2メガ搭載」などと単位を明示せずにビット単位の値で宣伝する、といったような広告手法があった。
出典
- ^ 国際単位系国際文書第9版(2019)日本語版、p.112 右欄の注記
- ^ “CJK Compatibility” (2015年). 2016年2月21日閲覧。
- ^ “The Unicode Standard, Version 8.0.0”. Mountain View, CA: The Unicode Consortium (2015年). 2016年2月21日閲覧。
関連項目
バイトの単位一覧 | |||||
---|---|---|---|---|---|
SI接頭語 | 2進接頭辞 | ||||
単位(記号) | SI基準 | 慣用値 | 単位(記号) | 値 | SIとの差(概数) |
キロバイト (kB) | 103 | 210 | キビバイト (KiB) | 210 | 2.400000% |
メガバイト (MB) | 106 | 220 | メビバイト (MiB) | 220 | 4.857600% |
ギガバイト (GB) | 109 | 230 | ギビバイト (GiB) | 230 | 7.374182% |
テラバイト (TB) | 1012 | 240 | テビバイト (TiB) | 240 | 9.951163% |
ペタバイト (PB) | 1015 | 250 | ペビバイト (PiB) | 250 | 12.589991% |
エクサバイト (EB) | 1018 | 260 | エクスビバイト (EiB) | 260 | 15.292150% |
ゼタバイト (ZB) | 1021 | 270 | ゼビバイト (ZiB) | 270 | 18.059162% |
ヨタバイト (YB) | 1024 | 280 | ヨビバイト (YiB) | 280 | 20.892582% |
ロナバイト (RB) | 1027 | 290 | ロビバイト (RiB) | 290 | 23.794004% |
クエタバイト (QB) | 1030 | 2100 | クエビバイト (QiB) | 2100 | 26.765060% |
この表の上付き文字は環境により適切に表示されていない場合があります。 |
- byteのページへのリンク