Edit

Share via


BitConverter.GetBytes Method

Definition

Converts the specified data to an array of bytes.

Overloads

GetBytes(Boolean)

Returns the specified Boolean value as a byte array.

GetBytes(Char)

Returns the specified Unicode character value as an array of bytes.

GetBytes(Double)

Returns the specified double-precision floating-point value as an array of bytes.

GetBytes(Half)

Returns the specified half-precision floating-point value as an array of bytes.

GetBytes(Int128)

Returns the specified 128-bit signed integer value as an array of bytes.

GetBytes(Int16)

Returns the specified 16-bit signed integer value as an array of bytes.

GetBytes(Int32)

Returns the specified 32-bit signed integer value as an array of bytes.

GetBytes(Int64)

Returns the specified 64-bit signed integer value as an array of bytes.

GetBytes(Single)

Returns the specified single-precision floating point value as an array of bytes.

GetBytes(UInt128)

Returns the specified 128-bit unsigned integer value as an array of bytes.

GetBytes(UInt16)

Returns the specified 16-bit unsigned integer value as an array of bytes.

GetBytes(UInt32)

Returns the specified 32-bit unsigned integer value as an array of bytes.

GetBytes(UInt64)

Returns the specified 64-bit unsigned integer value as an array of bytes.

GetBytes(Boolean)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified Boolean value as a byte array.

public static byte[] GetBytes(bool value);

Parameters

value
Boolean

The value to convert.

Returns

Byte[]

A byte array with length 1.

Examples

The following example converts the bit patterns of Boolean values to Byte arrays with the GetBytes method.

using System;

class Example
{
   public static void Main( )
   {
      // Define Boolean true and false values.
      bool[] values = { true, false };

      // Display the value and its corresponding byte array.
      Console.WriteLine("{0,10}{1,16}\n", "Boolean", "Bytes");
      foreach (var value in values) {
         byte[] bytes = BitConverter.GetBytes(value);
         Console.WriteLine("{0,10}{1,16}", value,
                           BitConverter.ToString(bytes));
      }
   }
}
// The example displays the following output:
//        Boolean           Bytes
//
//           True              01
//          False              00

Remarks

You can convert a byte array back to a Boolean value by calling the ToBoolean method.

See also

Applies to

GetBytes(Char)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified Unicode character value as an array of bytes.

public static byte[] GetBytes(char value);

Parameters

value
Char

The character to convert.

Returns

Byte[]

An array of bytes with length 2.

Examples

The following code example converts the bit patterns of Char values (Unicode characters) to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( char ) method.
using System;

class GetBytesCharDemo
{
    const string formatter = "{0,10}{1,16}";

    // Convert a char argument to a byte array and display it.
    public static void GetBytesChar( char argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( char ) " +
            "\nmethod generates the following output.\r\n" );
        Console.WriteLine( formatter, "char", "byte array" );
        Console.WriteLine( formatter, "----", "----------" );

        // Convert char values and display the results.
        GetBytesChar( '\0' );
        GetBytesChar( ' ' );
        GetBytesChar( '*' );
        GetBytesChar( '3' );
        GetBytesChar( 'A' );
        GetBytesChar( '[' );
        GetBytesChar( 'a' );
        GetBytesChar( '{' );
    }
}

/*
This example of the BitConverter.GetBytes( char )
method generates the following output.

      char      byte array
      ----      ----------
                     00-00
                     20-00
         *           2A-00
         3           33-00
         A           41-00
         [           5B-00
         a           61-00
         {           7B-00
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(Double)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified double-precision floating-point value as an array of bytes.

public static byte[] GetBytes(double value);

Parameters

value
Double

The number to convert.

Returns

Byte[]

An array of bytes with length 8.

Examples

The following code example converts the bit patterns of Double values to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( double ) method.
using System;

class GetBytesDoubleDemo
{
    const string formatter = "{0,25:E16}{1,30}";

    // Convert a double argument to a byte array and display it.
    public static void GetBytesDouble( double argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( double ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "double", "byte array" );
        Console.WriteLine( formatter, "------", "----------" );

        // Convert double values and display the results.
        GetBytesDouble( 0.0 );
        GetBytesDouble( 1.0 );
        GetBytesDouble( 255.0 );
        GetBytesDouble( 4294967295.0 );
        GetBytesDouble( 0.00390625 );
        GetBytesDouble( 0.00000000023283064365386962890625 );
        GetBytesDouble( 1.23456789012345E-300 );
        GetBytesDouble( 1.2345678901234565 );
        GetBytesDouble( 1.2345678901234567 );
        GetBytesDouble( 1.2345678901234569 );
        GetBytesDouble( 1.23456789012345678E+300 );
        GetBytesDouble( double.MinValue );
        GetBytesDouble( double.MaxValue );
        GetBytesDouble( double.Epsilon );
        GetBytesDouble( double.NaN );
        GetBytesDouble( double.NegativeInfinity );
        GetBytesDouble( double.PositiveInfinity );
    }
}

/*
This example of the BitConverter.GetBytes( double )
method generates the following output.

                   double                    byte array
                   ------                    ----------
  0.0000000000000000E+000       00-00-00-00-00-00-00-00
  1.0000000000000000E+000       00-00-00-00-00-00-F0-3F
  2.5500000000000000E+002       00-00-00-00-00-E0-6F-40
  4.2949672950000000E+009       00-00-E0-FF-FF-FF-EF-41
  3.9062500000000000E-003       00-00-00-00-00-00-70-3F
  2.3283064365386963E-010       00-00-00-00-00-00-F0-3D
  1.2345678901234500E-300       DF-88-1E-1C-FE-74-AA-01
  1.2345678901234565E+000       FA-59-8C-42-CA-C0-F3-3F
  1.2345678901234567E+000       FB-59-8C-42-CA-C0-F3-3F
  1.2345678901234569E+000       FC-59-8C-42-CA-C0-F3-3F
  1.2345678901234569E+300       52-D3-BB-BC-E8-7E-3D-7E
 -1.7976931348623157E+308       FF-FF-FF-FF-FF-FF-EF-FF
  1.7976931348623157E+308       FF-FF-FF-FF-FF-FF-EF-7F
  4.9406564584124654E-324       01-00-00-00-00-00-00-00
                      NaN       00-00-00-00-00-00-F8-FF
                -Infinity       00-00-00-00-00-00-F0-FF
                 Infinity       00-00-00-00-00-00-F0-7F
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(Half)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified half-precision floating-point value as an array of bytes.

public static byte[] GetBytes(Half value);

Parameters

value
Half

The number to convert.

Returns

Byte[]

An array of bytes with length 2.

Applies to

GetBytes(Int128)

Source:
BitConverter.cs

Returns the specified 128-bit signed integer value as an array of bytes.

public static byte[] GetBytes(Int128 value);

Parameters

value
Int128

The number to convert.

Returns

Byte[]

An array of bytes with length 16.

Applies to

GetBytes(Int16)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified 16-bit signed integer value as an array of bytes.

public static byte[] GetBytes(short value);

Parameters

value
Int16

The number to convert.

Returns

Byte[]

An array of bytes with length 2.

Examples

The following code example converts the bit patterns of Int16 values to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( short ) method.
using System;

class GetBytesInt16Demo
{
    const string formatter = "{0,10}{1,13}";

    // Convert a short argument to a byte array and display it.
    public static void GetBytesInt16( short argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( short ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "short", "byte array" );
        Console.WriteLine( formatter, "-----", "----------" );

        // Convert short values and display the results.
        GetBytesInt16( 0 );
        GetBytesInt16( 15 );
        GetBytesInt16( -15 );
        GetBytesInt16( 10000 );
        GetBytesInt16( -10000 );
        GetBytesInt16( short.MinValue );
        GetBytesInt16( short.MaxValue );
    }
}

/*
This example of the BitConverter.GetBytes( short )
method generates the following output.

     short   byte array
     -----   ----------
         0        00-00
        15        0F-00
       -15        F1-FF
     10000        10-27
    -10000        F0-D8
    -32768        00-80
     32767        FF-7F
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(Int32)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified 32-bit signed integer value as an array of bytes.

public static byte[] GetBytes(int value);

Parameters

value
Int32

The number to convert.

Returns

Byte[]

An array of bytes with length 4.

Examples

The following code example converts the bit patterns of Int32 values to Byte arrays with the GetBytes method.

using System;

class Example
{
    public static void Main( )
    {
        // Define an array of integers.
        int[] values = { 0, 15, -15, 0x100000,  -0x100000, 1000000000,
                         -1000000000, int.MinValue, int.MaxValue };

        // Convert each integer to a byte array.
        Console.WriteLine("{0,16}{1,10}{2,17}", "Integer",
                          "Endian", "Byte Array");
        Console.WriteLine("{0,16}{1,10}{2,17}", "---", "------",
                          "----------" );
        foreach (var value in values) {
          byte[] byteArray = BitConverter.GetBytes(value);
          Console.WriteLine("{0,16}{1,10}{2,17}", value,
                            BitConverter.IsLittleEndian ? "Little" : " Big",
                            BitConverter.ToString(byteArray));
        }
    }
}
// This example displays output like the following:
//              Integer    Endian       Byte Array
//                  ---    ------       ----------
//                    0    Little      00-00-00-00
//                   15    Little      0F-00-00-00
//                  -15    Little      F1-FF-FF-FF
//              1048576    Little      00-00-10-00
//             -1048576    Little      00-00-F0-FF
//           1000000000    Little      00-CA-9A-3B
//          -1000000000    Little      00-36-65-C4
//          -2147483648    Little      00-00-00-80
//           2147483647    Little      FF-FF-FF-7F

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(Int64)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified 64-bit signed integer value as an array of bytes.

public static byte[] GetBytes(long value);

Parameters

value
Int64

The number to convert.

Returns

Byte[]

An array of bytes with length 8.

Examples

The following example calls the GetBytes method to convert each element in an Int64 array to a Byte arrays.

using System;

class Example
{
    public static void Main()
    {
        // Define an array of Int64 values.
        long[] values = { 0, 0xFFFFFF, -0xFFFFFF, 1000000000, -1000000000,
                          0x100000000, -0x100000000, 0xAAAAAAAAAAAA,
                          -0xAAAAAAAAAAAA, 1000000000000000000,
                          -1000000000000000000, long.MinValue,
                          long.MaxValue };

        Console.WriteLine( "{0,22}{1,10} {2,30}", "Int64", "Endian", "Byte Array");
        Console.WriteLine( "{0,22}{1,10} {2,30}", "----", "------", "----------" );

        foreach (var value in values) {
            // Convert each Int64 value to a byte array.
            byte[] byteArray = BitConverter.GetBytes(value);
            // Display the result.
            Console.WriteLine("{0,22}{1,10}{2,30}", value,
                              BitConverter.IsLittleEndian ? "Little" : "Big",
                              BitConverter.ToString(byteArray));
        }
    }
}
// The example displays output like the following:
//                    Int64    Endian                     Byte Array
//                     ----    ------                     ----------
//                        0    Little       00-00-00-00-00-00-00-00
//                 16777215    Little       FF-FF-FF-00-00-00-00-00
//                -16777215    Little       01-00-00-FF-FF-FF-FF-FF
//               1000000000    Little       00-CA-9A-3B-00-00-00-00
//              -1000000000    Little       00-36-65-C4-FF-FF-FF-FF
//               4294967296    Little       00-00-00-00-01-00-00-00
//              -4294967296    Little       00-00-00-00-FF-FF-FF-FF
//          187649984473770    Little       AA-AA-AA-AA-AA-AA-00-00
//         -187649984473770    Little       56-55-55-55-55-55-FF-FF
//      1000000000000000000    Little       00-00-64-A7-B3-B6-E0-0D
//     -1000000000000000000    Little       00-00-9C-58-4C-49-1F-F2
//     -9223372036854775808    Little       00-00-00-00-00-00-00-80
//      9223372036854775807    Little       FF-FF-FF-FF-FF-FF-FF-7F

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(Single)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Returns the specified single-precision floating point value as an array of bytes.

public static byte[] GetBytes(float value);

Parameters

value
Single

The number to convert.

Returns

Byte[]

An array of bytes with length 4.

Examples

The following code example converts the bit patterns of Single values to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( float ) method.
using System;

class GetBytesSingleDemo
{
    const string formatter = "{0,16:E7}{1,20}";

    // Convert a float argument to a byte array and display it.
    public static void GetBytesSingle( float argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( float ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "float", "byte array" );
        Console.WriteLine( formatter, "-----", "----------" );

        // Convert float values and display the results.
        GetBytesSingle( 0.0F );
        GetBytesSingle( 1.0F );
        GetBytesSingle( 15.0F );
        GetBytesSingle( 65535.0F );
        GetBytesSingle( 0.00390625F );
        GetBytesSingle( 0.00000000023283064365386962890625F );
        GetBytesSingle( 1.2345E-35F );
        GetBytesSingle( 1.2345671F );
        GetBytesSingle( 1.2345673F );
        GetBytesSingle( 1.2345677F );
        GetBytesSingle( 1.23456789E+35F );
        GetBytesSingle( float.MinValue );
        GetBytesSingle( float.MaxValue );
        GetBytesSingle( float.Epsilon );
        GetBytesSingle( float.NaN );
        GetBytesSingle( float.NegativeInfinity );
        GetBytesSingle( float.PositiveInfinity );
    }
}

/*
This example of the BitConverter.GetBytes( float )
method generates the following output.

           float          byte array
           -----          ----------
  0.0000000E+000         00-00-00-00
  1.0000000E+000         00-00-80-3F
  1.5000000E+001         00-00-70-41
  6.5535000E+004         00-FF-7F-47
  3.9062500E-003         00-00-80-3B
  2.3283064E-010         00-00-80-2F
  1.2345000E-035         49-46-83-05
  1.2345671E+000         4B-06-9E-3F
  1.2345673E+000         4D-06-9E-3F
  1.2345676E+000         50-06-9E-3F
  1.2345679E+035         1E-37-BE-79
 -3.4028235E+038         FF-FF-7F-FF
  3.4028235E+038         FF-FF-7F-7F
  1.4012985E-045         01-00-00-00
             NaN         00-00-C0-FF
       -Infinity         00-00-80-FF
        Infinity         00-00-80-7F
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(UInt128)

Source:
BitConverter.cs

Important

This API is not CLS-compliant.

Returns the specified 128-bit unsigned integer value as an array of bytes.

[System.CLSCompliant(false)]
public static byte[] GetBytes(UInt128 value);

Parameters

value
UInt128

The number to convert.

Returns

Byte[]

An array of bytes with length 16.

Attributes

Applies to

GetBytes(UInt16)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Important

This API is not CLS-compliant.

Returns the specified 16-bit unsigned integer value as an array of bytes.

[System.CLSCompliant(false)]
public static byte[] GetBytes(ushort value);

Parameters

value
UInt16

The number to convert.

Returns

Byte[]

An array of bytes with length 2.

Attributes

Examples

The following code example converts the bit patterns of UInt16 values to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( ushort ) method.
using System;

class GetBytesUInt16Demo
{
    const string formatter = "{0,10}{1,13}";

    // Convert a ushort argument to a byte array and display it.
    public static void GetBytesUInt16( ushort argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( ushort ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "ushort", "byte array" );
        Console.WriteLine( formatter, "------", "----------" );

        // Convert ushort values and display the results.
        GetBytesUInt16( 15 );
        GetBytesUInt16( 1023 );
        GetBytesUInt16( 10000 );
        GetBytesUInt16( ushort.MinValue );
        GetBytesUInt16( (ushort)short.MaxValue );
        GetBytesUInt16( ushort.MaxValue );
    }
}

/*
This example of the BitConverter.GetBytes( ushort )
method generates the following output.

    ushort   byte array
    ------   ----------
        15        0F-00
      1023        FF-03
     10000        10-27
         0        00-00
     32767        FF-7F
     65535        FF-FF
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(UInt32)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Important

This API is not CLS-compliant.

Returns the specified 32-bit unsigned integer value as an array of bytes.

[System.CLSCompliant(false)]
public static byte[] GetBytes(uint value);

Parameters

value
UInt32

The number to convert.

Returns

Byte[]

An array of bytes with length 4.

Attributes

Examples

The following code example converts the bit patterns of UInt32 values to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( uint ) method.
using System;

class GetBytesUInt32Demo
{
    const string formatter = "{0,16}{1,20}";

    // Convert a uint argument to a byte array and display it.
    public static void GetBytesUInt32( uint argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( uint ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "uint", "byte array" );
        Console.WriteLine( formatter, "----", "----------" );

        // Convert uint values and display the results.
        GetBytesUInt32( 15 );
        GetBytesUInt32( 1023 );
        GetBytesUInt32( 0x100000 );
        GetBytesUInt32( 1000000000 );
        GetBytesUInt32( uint.MinValue );
        GetBytesUInt32( int.MaxValue );
        GetBytesUInt32( uint.MaxValue );
    }
}

/*
This example of the BitConverter.GetBytes( uint )
method generates the following output.

            uint          byte array
            ----          ----------
              15         0F-00-00-00
            1023         FF-03-00-00
         1048576         00-00-10-00
      1000000000         00-CA-9A-3B
               0         00-00-00-00
      2147483647         FF-FF-FF-7F
      4294967295         FF-FF-FF-FF
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to

GetBytes(UInt64)

Source:
BitConverter.cs
Source:
BitConverter.cs
Source:
BitConverter.cs

Important

This API is not CLS-compliant.

Returns the specified 64-bit unsigned integer value as an array of bytes.

[System.CLSCompliant(false)]
public static byte[] GetBytes(ulong value);

Parameters

value
UInt64

The number to convert.

Returns

Byte[]

An array of bytes with length 8.

Attributes

Examples

The following code example converts the bit patterns of UInt64 values to Byte arrays with the GetBytes method.

// Example of the BitConverter.GetBytes( ulong ) method.
using System;

class GetBytesUInt64Demo
{
    const string formatter = "{0,22}{1,30}";

    // Convert a ulong argument to a byte array and display it.
    public static void GetBytesUInt64( ulong argument )
    {
        byte[ ] byteArray = BitConverter.GetBytes( argument );
        Console.WriteLine( formatter, argument,
            BitConverter.ToString( byteArray ) );
    }

    public static void Main( )
    {
        Console.WriteLine(
            "This example of the BitConverter.GetBytes( ulong ) " +
            "\nmethod generates the following output.\n" );
        Console.WriteLine( formatter, "ulong", "byte array" );
        Console.WriteLine( formatter, "-----", "----------" );

        // Convert ulong values and display the results.
        GetBytesUInt64( 0xFFFFFF );
        GetBytesUInt64( 1000000000 );
        GetBytesUInt64( 0x100000000 );
        GetBytesUInt64( 0xAAAAAAAAAAAA );
        GetBytesUInt64( 1000000000000000000 );
        GetBytesUInt64( 10000000000000000000 );
        GetBytesUInt64( ulong.MinValue );
        GetBytesUInt64( long.MaxValue );
        GetBytesUInt64( ulong.MaxValue );
    }
}

/*
This example of the BitConverter.GetBytes( ulong )
method generates the following output.

                 ulong                    byte array
                 -----                    ----------
              16777215       FF-FF-FF-00-00-00-00-00
            1000000000       00-CA-9A-3B-00-00-00-00
            4294967296       00-00-00-00-01-00-00-00
       187649984473770       AA-AA-AA-AA-AA-AA-00-00
   1000000000000000000       00-00-64-A7-B3-B6-E0-0D
  10000000000000000000       00-00-E8-89-04-23-C7-8A
                     0       00-00-00-00-00-00-00-00
   9223372036854775807       FF-FF-FF-FF-FF-FF-FF-7F
  18446744073709551615       FF-FF-FF-FF-FF-FF-FF-FF
*/

Remarks

The order of bytes in the array returned by the GetBytes method depends on whether the computer architecture is little-endian or big-endian.

See also

Applies to