BitConverter.ToString 方法

定义

将指定的字节数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

重载

ToString(Byte[])

将指定的字节数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

ToString(Byte[], Int32)

将指定的字节子数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

ToString(Byte[], Int32, Int32)

将指定的字节子数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

ToString(Byte[])

将指定的字节数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

public:
 static System::String ^ ToString(cli::array <System::Byte> ^ value);
public static string ToString (byte[] value);
static member ToString : byte[] -> string
Public Shared Function ToString (value As Byte()) As String

参数

value
Byte[]

字节数组。

返回

String

由以连字符分隔的十六进制对构成的字符串,其中每一对表示 value 中对应的元素;例如“7F-2C-4A”。

例外

valuenull

示例

下面的代码示例使用ToString该方法将Byte数组转换为String对象。

// Example of the BitConverter::ToString( unsigned char[ ] ) method.
using namespace System;

// Display a byte array with a name.
void WriteByteArray( array<unsigned char>^bytes, String^ name )
{
   String^ underLine = "--------------------------------";
   Console::WriteLine( name );
   Console::WriteLine( underLine->Substring( 0, Math::Min( name->Length, underLine->Length ) ) );
   Console::WriteLine( BitConverter::ToString( bytes ) );
   Console::WriteLine();
}

int main()
{
   array<unsigned char>^arrayOne = {0,1,2,4,8,16,32,64,128,255};
   array<unsigned char>^arrayTwo = {32,0,0,42,0,65,0,125,0,197,0,168,3,41,4,172,32};
   array<unsigned char>^arrayThree = {15,0,0,128,16,39,240,216,241,255,127};
   array<unsigned char>^arrayFour = {15,0,0,0,0,16,0,255,3,0,0,202,154,59,255,255,255,255,127};
   Console::WriteLine( "This example of the "
   "BitConverter::ToString( unsigned char[ ] ) \n"
   "method generates the following output.\n" );
   WriteByteArray( arrayOne, "arrayOne" );
   WriteByteArray( arrayTwo, "arrayTwo" );
   WriteByteArray( arrayThree, "arrayThree" );
   WriteByteArray( arrayFour, "arrayFour" );
}

/*
This example of the BitConverter::ToString( unsigned char[ ] )
method generates the following output.

arrayOne
--------
00-01-02-04-08-10-20-40-80-FF

arrayTwo
--------
20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20

arrayThree
----------
0F-00-00-80-10-27-F0-D8-F1-FF-7F

arrayFour
---------
0F-00-00-00-00-10-00-FF-03-00-00-CA-9A-3B-FF-FF-FF-FF-7F
*/
// Example of the BitConverter.ToString( byte[ ] ) method.
using System;

class BytesToStringDemo
{
    // Display a byte array with a name.
    public static void WriteByteArray( byte[ ] bytes, string name )
    {
        const string underLine = "--------------------------------";

        Console.WriteLine( name );
        Console.WriteLine( underLine.Substring( 0,
            Math.Min( name.Length, underLine.Length ) ) );
        Console.WriteLine( BitConverter.ToString( bytes ) );
        Console.WriteLine( );
    }

    public static void Main( )
    {
        byte[ ] arrayOne = {
             0,   1,   2,   4,   8,  16,  32,  64, 128, 255 };

        byte[ ] arrayTwo = {
            32,   0,   0,  42,   0,  65,   0, 125,   0, 197,
             0, 168,   3,  41,   4, 172,  32 };

        byte[ ] arrayThree = {
            15,   0,   0, 128,  16,  39, 240, 216, 241, 255,
           127 };

        byte[ ] arrayFour = {
            15,   0,   0,   0,   0,  16,   0, 255,   3,   0,
             0, 202, 154,  59, 255, 255, 255, 255, 127 };

        Console.WriteLine( "This example of the " +
            "BitConverter.ToString( byte[ ] ) \n" +
            "method generates the following output.\n" );

        WriteByteArray( arrayOne, "arrayOne" );
        WriteByteArray( arrayTwo, "arrayTwo" );
        WriteByteArray( arrayThree, "arrayThree" );
        WriteByteArray( arrayFour, "arrayFour" );
    }
}

/*
This example of the BitConverter.ToString( byte[ ] )
method generates the following output.

arrayOne
--------
00-01-02-04-08-10-20-40-80-FF

arrayTwo
--------
20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20

arrayThree
----------
0F-00-00-80-10-27-F0-D8-F1-FF-7F

arrayFour
---------
0F-00-00-00-00-10-00-FF-03-00-00-CA-9A-3B-FF-FF-FF-FF-7F
*/
open System

// Display a byte array with a name.
let writeByteArray (bytes: byte[]) (name: string) =
    printfn $"{name}"
    printfn $"{String('-', name.Length)}"
    printfn $"{BitConverter.ToString bytes}\n"

let arrayOne = 
    [| 0uy; 1uy; 2uy; 4uy; 8uy; 16uy; 32uy; 64uy; 128uy; 255uy |]

let arrayTwo = 
    [| 32uy; 0uy; 0uy; 42uy; 0uy; 65uy; 0uy; 125uy; 0uy
       197uy; 0uy; 168uy; 3uy; 41uy; 4uy; 172uy; 32uy |]

let arrayThree =
    [| 15uy; 0uy; 0uy; 128uy; 16uy; 39uy; 240uy; 216uy; 241uy; 255uy; 127uy |]

let arrayFour =
    [| 15uy; 0uy; 0uy; 0uy; 0uy; 16uy; 0uy; 255uy; 3uy; 0uy; 0uy; 202uy
       154uy;  59uy; 255uy; 255uy; 255uy; 255uy; 127uy |]

printfn "This example of the BitConverter.ToString(byte []) \nmethod generates the following output.\n"

writeByteArray arrayOne "arrayOne"
writeByteArray arrayTwo "arrayTwo"
writeByteArray arrayThree "arrayThree"
writeByteArray arrayFour "arrayFour"


// This example of the BitConverter.ToString( byte[ ] )
// method generates the following output.
//
// arrayOne
// --------
// 00-01-02-04-08-10-20-40-80-FF
//
// arrayTwo
// --------
// 20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20
//
// arrayThree
// ----------
// 0F-00-00-80-10-27-F0-D8-F1-FF-7F
//
// arrayFour
// ---------
// 0F-00-00-00-00-10-00-FF-03-00-00-CA-9A-3B-FF-FF-FF-FF-7F
' Example of the BitConverter.ToString( Byte( ) ) method.
Module BytesToStringDemo

    ' Display a Byte array with a name.
    Sub WriteByteArray( bytes( ) As Byte, name As String )
       
        Const underLine As String = "--------------------------------"

        Console.WriteLine( name )
        Console.WriteLine( underLine.Substring( 0, _
            Math.Min( name.Length, underLine.Length ) ) )
        Console.WriteLine( BitConverter.ToString( bytes ) )
        Console.WriteLine( )
    End Sub

    Sub Main( )
        Dim arrayOne as Byte( ) = { _
              0,   1,   2,   4,   8,  16,  32,  64, 128, 255 }

        Dim arrayTwo as Byte( ) = { _
             32,   0,   0,  42,   0,  65,   0, 125,   0, 197, _
              0, 168,   3,  41,   4, 172,  32 }

        Dim arrayThree as Byte( ) = { _
             15,   0,   0, 128,  16,  39, 240, 216, 241, 255, _
            127 }

        Dim arrayFour as Byte( ) = { _
             15,   0,   0,   0,   0,  16,   0, 255,   3,   0, _
              0, 202, 154,  59, 255, 255, 255, 255, 127 }

        Console.WriteLine( "This example of the " & _
            "BitConverter.ToString( Byte( ) ) " & vbCrLf & _
            "method generates the following output." & vbCrLf )

        WriteByteArray( arrayOne, "arrayOne" )
        WriteByteArray( arrayTwo, "arrayTwo" )
        WriteByteArray( arrayThree, "arrayThree" )
        WriteByteArray( arrayFour, "arrayFour" )
    End Sub 
End Module

' This example of the BitConverter.ToString( Byte( ) )
' method generates the following output.
' 
' arrayOne
' --------
' 00-01-02-04-08-10-20-40-80-FF
' 
' arrayTwo
' --------
' 20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20
' 
' arrayThree
' ----------
' 0F-00-00-80-10-27-F0-D8-F1-FF-7F
' 
' arrayFour
' ---------
' 0F-00-00-00-00-10-00-FF-03-00-00-CA-9A-3B-FF-FF-FF-FF-7F

注解

转换的所有元素 value 。 方法返回 ToString 的十六进制字符串的顺序取决于计算机体系结构是小端还是 big-endian。

适用于

ToString(Byte[], Int32)

将指定的字节子数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

public:
 static System::String ^ ToString(cli::array <System::Byte> ^ value, int startIndex);
public static string ToString (byte[] value, int startIndex);
static member ToString : byte[] * int -> string
Public Shared Function ToString (value As Byte(), startIndex As Integer) As String

参数

value
Byte[]

字节数组。

startIndex
Int32

value 内的起始位置。

返回

String

由以连字符分隔的十六进制对构成的字符串,其中每一对表示 value 的子数组中对应的元素;例如“7F-2C-4A”。

例外

valuenull

startIndex 小于零或大于 value 减 1 的长度。

示例

下面的代码示例使用该方法将数组的一 Byte 部分从指定的 startIndex 数组转换为 String 数组 ToString

// Example of some BitConverter::ToString( ) method overloads.
using namespace System;

// Display a byte array, using multiple lines if necessary.
void WriteMultiLineByteArray( array<unsigned char>^bytes, String^ name )
{
   const int rowSize = 20;
   String^ underLine = "--------------------------------";
   int iter;
   Console::WriteLine( name );
   Console::WriteLine( underLine->Substring( 0, Math::Min( name->Length, underLine->Length ) ) );
   for ( iter = 0; iter < bytes->Length - rowSize; iter += rowSize )
   {
      Console::Write( BitConverter::ToString( bytes, iter, rowSize ) );
      Console::WriteLine( "-" );

   }
   Console::WriteLine( BitConverter::ToString( bytes, iter ) );
   Console::WriteLine();
}

int main()
{
   array<unsigned char>^arrayOne = {0,0,0,0,128,63,0,0,112,65,0,255,127,71,0,0,128,59,0,0,128,47,73,70,131,5,75,6,158,63,77,6,158,63,80,6,158,63,30,55,190,121,255,255,127,255,255,127,127,1,0,0,0,192,255,0,0,128,255,0,0,128,127};
   array<unsigned char>^arrayTwo = {255,255,255,0,0,20,0,33,0,0,0,1,0,0,0,100,167,179,182,224,13,0,202,154,59,0,143,91,0,170,170,170,170,170,170,0,0,232,137,4,35,199,138,255,232,244,255,252,205,255,255,129};
   array<unsigned char>^arrayThree = {0,222,0,0,0,224,111,64,0,0,224,255,255,255,239,65,0,0,131,0,0,0,112,63,0,143,0,100,0,0,240,61,223,136,30,28,254,116,170,1,250,89,140,66,202,192,243,63,251,89,140,66,202,192,243,63,252,89,140,66,202,192,243,63,82,211,187,188,232,126,255,255,255,244,255,239,127,1,0,0,0,10,17,0,0,248,255,0,88,0,91,0,0,240,255,0,0,240,157};
   Console::WriteLine( "This example of the\n"
   "  BitConverter::ToString( unsigned char[ ], int ) and \n"
   "  BitConverter::ToString( unsigned char[ ], int, int ) \n"
   "methods generates the following output.\n" );
   WriteMultiLineByteArray( arrayOne, "arrayOne" );
   WriteMultiLineByteArray( arrayTwo, "arrayTwo" );
   WriteMultiLineByteArray( arrayThree, "arrayThree" );
}

/*
This example of the
  BitConverter::ToString( unsigned char[ ], int ) and
  BitConverter::ToString( unsigned char[ ], int, int )
methods generates the following output.

arrayOne
--------
00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
00-80-7F

arrayTwo
--------
FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81

arrayThree
----------
00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D
*/
// Example of some BitConverter.ToString( ) method overloads.
using System;

class BytesToStringDemo
{
    // Display a byte array, using multiple lines if necessary.
    public static void WriteMultiLineByteArray( byte[ ] bytes,
        string name )
    {
        const int rowSize = 20;
        const string underLine = "--------------------------------";
        int iter;

        Console.WriteLine( name );
        Console.WriteLine( underLine.Substring( 0,
            Math.Min( name.Length, underLine.Length ) ) );

        for( iter = 0; iter < bytes.Length - rowSize; iter += rowSize )
        {
            Console.Write(
                BitConverter.ToString( bytes, iter, rowSize ) );
            Console.WriteLine( "-" );
        }

        Console.WriteLine( BitConverter.ToString( bytes, iter ) );
        Console.WriteLine( );
    }

    public static void Main( )
    {
        byte[ ] arrayOne = {
              0,   0,   0,   0, 128,  63,   0,   0, 112,  65,
              0, 255, 127,  71,   0,   0, 128,  59,   0,   0,
            128,  47,  73,  70, 131,   5,  75,   6, 158,  63,
             77,   6, 158,  63,  80,   6, 158,  63,  30,  55,
            190, 121, 255, 255, 127, 255, 255, 127, 127,   1,
              0,   0,   0, 192, 255,   0,   0, 128, 255,   0,
              0, 128, 127 };

        byte[ ] arrayTwo = {
            255, 255, 255,   0,   0,  20,   0,  33,   0,   0,
              0,   1,   0,   0,   0, 100, 167, 179, 182, 224,
             13,   0, 202, 154,  59,   0, 143,  91,   0, 170,
            170, 170, 170, 170, 170,   0,   0, 232, 137,   4,
             35, 199, 138, 255, 232, 244, 255, 252, 205, 255,
            255, 129 };

        byte[ ] arrayThree = {
              0, 222,   0,   0,   0, 224, 111,  64,   0,   0,
            224, 255, 255, 255, 239,  65,   0,   0, 131,   0,
              0,   0, 112,  63,   0, 143,   0, 100,   0,   0,
            240,  61, 223, 136,  30,  28, 254, 116, 170,   1,
            250,  89, 140,  66, 202, 192, 243,  63, 251,  89,
            140,  66, 202, 192, 243,  63, 252,  89, 140,  66,
            202, 192, 243,  63,  82, 211, 187, 188, 232, 126,
            255, 255, 255, 244, 255, 239, 127,   1,   0,   0,
              0,  10,  17,   0,   0, 248, 255,   0,  88,   0,
             91,   0,   0, 240, 255,   0,   0, 240, 157 };

        Console.WriteLine( "This example of the\n" +
            "  BitConverter.ToString( byte[ ], int ) and \n" +
            "  BitConverter.ToString( byte[ ], int, int ) \n" +
            "methods generates the following output.\n" );

        WriteMultiLineByteArray( arrayOne, "arrayOne" );
        WriteMultiLineByteArray( arrayTwo, "arrayTwo" );
        WriteMultiLineByteArray( arrayThree, "arrayThree" );
    }
}

/*
This example of the
  BitConverter.ToString( byte[ ], int ) and
  BitConverter.ToString( byte[ ], int, int )
methods generates the following output.

arrayOne
--------
00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
00-80-7F

arrayTwo
--------
FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81

arrayThree
----------
00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D
*/
open System

// Display a byte array, using multiple lines if necessary.
let writeMultiLineByteArray (bytes: byte []) (name: string) =
    let rowSize = 20

    printfn $"{name}"
    printfn $"{String('-', name.Length)}"

    let mutable iter = 0
    for i in 0 .. rowSize .. (bytes.Length - rowSize - 1) do
        printfn $"{BitConverter.ToString(bytes, i, rowSize)}-"
        iter <- i
    printfn $"{BitConverter.ToString(bytes, iter + rowSize)}\n"

let arrayOne =
    [| 0uy; 0uy; 0uy; 0uy; 128uy; 63uy; 0uy; 0uy; 112uy; 65uy
       0uy; 255uy; 127uy; 71uy; 0uy; 0uy; 128uy; 59uy; 0uy; 0uy
       128uy; 47uy; 73uy; 70uy; 131uy; 5uy; 75uy; 6uy; 158uy; 63uy
       77uy; 6uy; 158uy; 63uy; 80uy; 6uy; 158uy; 63uy; 30uy; 55uy
       190uy; 121uy; 255uy; 255uy; 127uy; 255uy; 255uy; 127uy; 127uy; 1uy
       0uy; 0uy; 0uy; 192uy; 255uy; 0uy; 0uy; 128uy; 255uy; 0uy
       0uy; 128uy; 127uy |]

let arrayTwo =
    [| 255uy; 255uy; 255uy; 0uy; 0uy; 20uy; 0uy; 33uy; 0uy; 0uy
       0uy; 1uy; 0uy; 0uy; 0uy; 100uy; 167uy; 179uy; 182uy; 224uy
       13uy; 0uy; 202uy; 154uy; 59uy; 0uy; 143uy; 91uy; 0uy; 170uy
       170uy; 170uy; 170uy; 170uy; 170uy; 0uy; 0uy; 232uy; 137uy; 4uy
       35uy; 199uy; 138uy; 255uy; 232uy; 244uy; 255uy; 252uy; 205uy; 255uy
       255uy; 129uy |]

let arrayThree = 
    [| 0uy; 222uy; 0uy; 0uy; 0uy; 224uy; 111uy; 64uy; 0uy; 0uy
       224uy; 255uy; 255uy; 255uy; 239uy; 65uy; 0uy; 0uy; 131uy; 0uy
       0uy; 0uy; 112uy; 63uy; 0uy; 143uy; 0uy; 100uy; 0uy; 0uy
       240uy; 61uy; 223uy; 136uy; 30uy; 28uy; 254uy; 116uy; 170uy; 1uy
       250uy; 89uy; 140uy; 66uy; 202uy; 192uy; 243uy; 63uy; 251uy; 89uy
       140uy; 66uy; 202uy; 192uy; 243uy; 63uy; 252uy; 89uy; 140uy; 66uy
       202uy; 192uy; 243uy; 63uy; 82uy; 211uy; 187uy; 188uy; 232uy; 126uy
       255uy; 255uy; 255uy; 244uy; 255uy; 239uy; 127uy; 1uy; 0uy; 0uy
       0uy; 10uy; 17uy; 0uy; 0uy; 248uy; 255uy; 0uy; 88uy; 0uy
       91uy; 0uy; 0uy; 240uy; 255uy; 0uy; 0uy; 240uy; 157uy |]

printfn "This example of the\n  BitConverter.ToString(byte [], int) and \n  BitConverter.ToString(byte [], int, int) \nmethods generates the following output.\n"

writeMultiLineByteArray arrayOne "arrayOne"
writeMultiLineByteArray arrayTwo "arrayTwo"
writeMultiLineByteArray arrayThree "arrayThree"


// This example of the
//   BitConverter.ToString(byte [], int) and
//   BitConverter.ToString(byte [], int, int)
// methods generates the following output.
//
// arrayOne
// --------
// 00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
// 80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
// BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
// 00-80-7F
//
// arrayTwo
// --------
// FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
// 0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
// 23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81
//
// arrayThree
// ----------
// 00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
// 00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
// FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
// CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
// 00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D
' Example of some BitConverter.ToString( ) method overloads.
Module BytesToStringDemo

    ' Display a Byte array, using multiple lines if necessary.
    Sub WriteMultiLineByteArray( bytes( ) As Byte, name As String )
       
        Const rowSize As Integer = 20 
        Const underLine As String = "--------------------------------"
        Dim iter As Integer

        Console.WriteLine( name )
        Console.WriteLine( underLine.Substring( 0, _
            Math.Min( name.Length, underLine.Length ) ) )

        For iter = 0 To bytes.Length - rowSize - 1 Step rowSize
            Console.Write( _
                BitConverter.ToString( bytes, iter, rowSize ) )
            Console.WriteLine( "-" )
        Next iter

        Console.WriteLine( BitConverter.ToString( bytes, iter ) )
        Console.WriteLine( )
    End Sub

    Sub Main( )
        Dim arrayOne as Byte( ) = { _
              0,   0,   0,   0, 128,  63,   0,   0, 112,  65, _
              0, 255, 127,  71,   0,   0, 128,  59,   0,   0, _
            128,  47,  73,  70, 131,   5,  75,   6, 158,  63, _
             77,   6, 158,  63,  80,   6, 158,  63,  30,  55, _
            190, 121, 255, 255, 127, 255, 255, 127, 127,   1, _
              0,   0,   0, 192, 255,   0,   0, 128, 255,   0, _
              0, 128, 127 }

        Dim arrayTwo as Byte( ) = { _
            255, 255, 255,   0,   0,  20,   0,  33,   0,   0, _
              0,   1,   0,   0,   0, 100, 167, 179, 182, 224, _
             13,   0, 202, 154,  59,   0, 143,  91,   0, 170, _
            170, 170, 170, 170, 170,   0,   0, 232, 137,   4, _
             35, 199, 138, 255, 232, 244, 255, 252, 205, 255, _
            255, 129 }

        Dim arrayThree as Byte( ) = { _
              0, 222,   0,   0,   0, 224, 111,  64,   0,   0, _
            224, 255, 255, 255, 239,  65,   0,   0, 131,   0, _
              0,   0, 112,  63,   0, 143,   0, 100,   0,   0, _
            240,  61, 223, 136,  30,  28, 254, 116, 170,   1, _
            250,  89, 140,  66, 202, 192, 243,  63, 251,  89, _
            140,  66, 202, 192, 243,  63, 252,  89, 140,  66, _
            202, 192, 243,  63,  82, 211, 187, 188, 232, 126, _
            255, 255, 255, 244, 255, 239, 127,   1,   0,   0, _
              0,  10,  17,   0,   0, 248, 255,   0,  88,   0, _
             91,   0,   0, 240, 255,   0,   0, 240, 157 }

        Console.WriteLine( "This example of the" & vbCrLf & _
            "  BitConverter.ToString( Byte( ), Integer ) and " & _
            vbCrLf & "  BitConverter.ToString( Byte( ), " & _
            "Integer, Integer ) " & vbCrLf & "methods generates " & _
            "the following output." & vbCrLf )

        WriteMultiLineByteArray( arrayOne, "arrayOne" )
        WriteMultiLineByteArray( arrayTwo, "arrayTwo" )
        WriteMultiLineByteArray( arrayThree, "arrayThree" )
    End Sub 
End Module

' This example of the
'   BitConverter.ToString( Byte( ), Integer ) and
'   BitConverter.ToString( Byte( ), Integer, Integer )
' methods generates the following output.
' 
' arrayOne
' --------
' 00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
' 80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
' BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
' 00-80-7F
' 
' arrayTwo
' --------
' FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
' 0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
' 23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81
' 
' arrayThree
' ----------
' 00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
' 00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
' FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
' CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
' 00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D

注解

将数组位置 startIndex 到数组末尾的元素进行转换。 方法返回 ToString 的十六进制字符串的顺序取决于计算机体系结构是小端还是 big-endian。

适用于

ToString(Byte[], Int32, Int32)

将指定的字节子数组的每个元素的数值转换为它的等效十六进制字符串表示形式。

public:
 static System::String ^ ToString(cli::array <System::Byte> ^ value, int startIndex, int length);
public static string ToString (byte[] value, int startIndex, int length);
static member ToString : byte[] * int * int -> string
Public Shared Function ToString (value As Byte(), startIndex As Integer, length As Integer) As String

参数

value
Byte[]

包含要转换的字节的字节数组。

startIndex
Int32

value 内的起始位置。

length
Int32

要转换的 value 中的数组元素数。

返回

String

由以连字符分隔的十六进制对构成的字符串,其中每一对表示 value 的子数组中对应的元素;例如“7F-2C-4A”。

例外

valuenull

startIndexlength 小于零。

  • 或 - startIndex 大于零且大于等于 value 的长度。

startIndexlength 的组合不指定 value 中的位置;也就是说,startIndex 参数大于 value 的长度减去 length 参数。

示例

下面的示例使用 ToString 该方法将字节数组的一部分(从指定 startIndex 开始)转换为 length字符串。

// Example of some BitConverter::ToString( ) method overloads.
using namespace System;

// Display a byte array, using multiple lines if necessary.
void WriteMultiLineByteArray( array<unsigned char>^bytes, String^ name )
{
   const int rowSize = 20;
   String^ underLine = "--------------------------------";
   int iter;
   Console::WriteLine( name );
   Console::WriteLine( underLine->Substring( 0, Math::Min( name->Length, underLine->Length ) ) );
   for ( iter = 0; iter < bytes->Length - rowSize; iter += rowSize )
   {
      Console::Write( BitConverter::ToString( bytes, iter, rowSize ) );
      Console::WriteLine( "-" );

   }
   Console::WriteLine( BitConverter::ToString( bytes, iter ) );
   Console::WriteLine();
}

int main()
{
   array<unsigned char>^arrayOne = {0,0,0,0,128,63,0,0,112,65,0,255,127,71,0,0,128,59,0,0,128,47,73,70,131,5,75,6,158,63,77,6,158,63,80,6,158,63,30,55,190,121,255,255,127,255,255,127,127,1,0,0,0,192,255,0,0,128,255,0,0,128,127};
   array<unsigned char>^arrayTwo = {255,255,255,0,0,20,0,33,0,0,0,1,0,0,0,100,167,179,182,224,13,0,202,154,59,0,143,91,0,170,170,170,170,170,170,0,0,232,137,4,35,199,138,255,232,244,255,252,205,255,255,129};
   array<unsigned char>^arrayThree = {0,222,0,0,0,224,111,64,0,0,224,255,255,255,239,65,0,0,131,0,0,0,112,63,0,143,0,100,0,0,240,61,223,136,30,28,254,116,170,1,250,89,140,66,202,192,243,63,251,89,140,66,202,192,243,63,252,89,140,66,202,192,243,63,82,211,187,188,232,126,255,255,255,244,255,239,127,1,0,0,0,10,17,0,0,248,255,0,88,0,91,0,0,240,255,0,0,240,157};
   Console::WriteLine( "This example of the\n"
   "  BitConverter::ToString( unsigned char[ ], int ) and \n"
   "  BitConverter::ToString( unsigned char[ ], int, int ) \n"
   "methods generates the following output.\n" );
   WriteMultiLineByteArray( arrayOne, "arrayOne" );
   WriteMultiLineByteArray( arrayTwo, "arrayTwo" );
   WriteMultiLineByteArray( arrayThree, "arrayThree" );
}

/*
This example of the
  BitConverter::ToString( unsigned char[ ], int ) and
  BitConverter::ToString( unsigned char[ ], int, int )
methods generates the following output.

arrayOne
--------
00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
00-80-7F

arrayTwo
--------
FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81

arrayThree
----------
00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D
*/
// Example of some BitConverter.ToString( ) method overloads.
using System;

class BytesToStringDemo
{
    // Display a byte array, using multiple lines if necessary.
    public static void WriteMultiLineByteArray( byte[ ] bytes,
        string name )
    {
        const int rowSize = 20;
        const string underLine = "--------------------------------";
        int iter;

        Console.WriteLine( name );
        Console.WriteLine( underLine.Substring( 0,
            Math.Min( name.Length, underLine.Length ) ) );

        for( iter = 0; iter < bytes.Length - rowSize; iter += rowSize )
        {
            Console.Write(
                BitConverter.ToString( bytes, iter, rowSize ) );
            Console.WriteLine( "-" );
        }

        Console.WriteLine( BitConverter.ToString( bytes, iter ) );
        Console.WriteLine( );
    }

    public static void Main( )
    {
        byte[ ] arrayOne = {
              0,   0,   0,   0, 128,  63,   0,   0, 112,  65,
              0, 255, 127,  71,   0,   0, 128,  59,   0,   0,
            128,  47,  73,  70, 131,   5,  75,   6, 158,  63,
             77,   6, 158,  63,  80,   6, 158,  63,  30,  55,
            190, 121, 255, 255, 127, 255, 255, 127, 127,   1,
              0,   0,   0, 192, 255,   0,   0, 128, 255,   0,
              0, 128, 127 };

        byte[ ] arrayTwo = {
            255, 255, 255,   0,   0,  20,   0,  33,   0,   0,
              0,   1,   0,   0,   0, 100, 167, 179, 182, 224,
             13,   0, 202, 154,  59,   0, 143,  91,   0, 170,
            170, 170, 170, 170, 170,   0,   0, 232, 137,   4,
             35, 199, 138, 255, 232, 244, 255, 252, 205, 255,
            255, 129 };

        byte[ ] arrayThree = {
              0, 222,   0,   0,   0, 224, 111,  64,   0,   0,
            224, 255, 255, 255, 239,  65,   0,   0, 131,   0,
              0,   0, 112,  63,   0, 143,   0, 100,   0,   0,
            240,  61, 223, 136,  30,  28, 254, 116, 170,   1,
            250,  89, 140,  66, 202, 192, 243,  63, 251,  89,
            140,  66, 202, 192, 243,  63, 252,  89, 140,  66,
            202, 192, 243,  63,  82, 211, 187, 188, 232, 126,
            255, 255, 255, 244, 255, 239, 127,   1,   0,   0,
              0,  10,  17,   0,   0, 248, 255,   0,  88,   0,
             91,   0,   0, 240, 255,   0,   0, 240, 157 };

        Console.WriteLine( "This example of the\n" +
            "  BitConverter.ToString( byte[ ], int ) and \n" +
            "  BitConverter.ToString( byte[ ], int, int ) \n" +
            "methods generates the following output.\n" );

        WriteMultiLineByteArray( arrayOne, "arrayOne" );
        WriteMultiLineByteArray( arrayTwo, "arrayTwo" );
        WriteMultiLineByteArray( arrayThree, "arrayThree" );
    }
}

/*
This example of the
  BitConverter.ToString( byte[ ], int ) and
  BitConverter.ToString( byte[ ], int, int )
methods generates the following output.

arrayOne
--------
00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
00-80-7F

arrayTwo
--------
FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81

arrayThree
----------
00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D
*/
open System

// Display a byte array, using multiple lines if necessary.
let writeMultiLineByteArray (bytes: byte []) (name: string) =
    let rowSize = 20

    printfn $"{name}"
    printfn $"{String('-', name.Length)}"

    let mutable iter = 0
    for i in 0 .. rowSize .. (bytes.Length - rowSize - 1) do
        printfn $"{BitConverter.ToString(bytes, i, rowSize)}-"
        iter <- i
    printfn $"{BitConverter.ToString(bytes, iter + rowSize)}\n"

let arrayOne =
    [| 0uy; 0uy; 0uy; 0uy; 128uy; 63uy; 0uy; 0uy; 112uy; 65uy
       0uy; 255uy; 127uy; 71uy; 0uy; 0uy; 128uy; 59uy; 0uy; 0uy
       128uy; 47uy; 73uy; 70uy; 131uy; 5uy; 75uy; 6uy; 158uy; 63uy
       77uy; 6uy; 158uy; 63uy; 80uy; 6uy; 158uy; 63uy; 30uy; 55uy
       190uy; 121uy; 255uy; 255uy; 127uy; 255uy; 255uy; 127uy; 127uy; 1uy
       0uy; 0uy; 0uy; 192uy; 255uy; 0uy; 0uy; 128uy; 255uy; 0uy
       0uy; 128uy; 127uy |]

let arrayTwo =
    [| 255uy; 255uy; 255uy; 0uy; 0uy; 20uy; 0uy; 33uy; 0uy; 0uy
       0uy; 1uy; 0uy; 0uy; 0uy; 100uy; 167uy; 179uy; 182uy; 224uy
       13uy; 0uy; 202uy; 154uy; 59uy; 0uy; 143uy; 91uy; 0uy; 170uy
       170uy; 170uy; 170uy; 170uy; 170uy; 0uy; 0uy; 232uy; 137uy; 4uy
       35uy; 199uy; 138uy; 255uy; 232uy; 244uy; 255uy; 252uy; 205uy; 255uy
       255uy; 129uy |]

let arrayThree = 
    [| 0uy; 222uy; 0uy; 0uy; 0uy; 224uy; 111uy; 64uy; 0uy; 0uy
       224uy; 255uy; 255uy; 255uy; 239uy; 65uy; 0uy; 0uy; 131uy; 0uy
       0uy; 0uy; 112uy; 63uy; 0uy; 143uy; 0uy; 100uy; 0uy; 0uy
       240uy; 61uy; 223uy; 136uy; 30uy; 28uy; 254uy; 116uy; 170uy; 1uy
       250uy; 89uy; 140uy; 66uy; 202uy; 192uy; 243uy; 63uy; 251uy; 89uy
       140uy; 66uy; 202uy; 192uy; 243uy; 63uy; 252uy; 89uy; 140uy; 66uy
       202uy; 192uy; 243uy; 63uy; 82uy; 211uy; 187uy; 188uy; 232uy; 126uy
       255uy; 255uy; 255uy; 244uy; 255uy; 239uy; 127uy; 1uy; 0uy; 0uy
       0uy; 10uy; 17uy; 0uy; 0uy; 248uy; 255uy; 0uy; 88uy; 0uy
       91uy; 0uy; 0uy; 240uy; 255uy; 0uy; 0uy; 240uy; 157uy |]

printfn "This example of the\n  BitConverter.ToString(byte [], int) and \n  BitConverter.ToString(byte [], int, int) \nmethods generates the following output.\n"

writeMultiLineByteArray arrayOne "arrayOne"
writeMultiLineByteArray arrayTwo "arrayTwo"
writeMultiLineByteArray arrayThree "arrayThree"


// This example of the
//   BitConverter.ToString(byte [], int) and
//   BitConverter.ToString(byte [], int, int)
// methods generates the following output.
//
// arrayOne
// --------
// 00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
// 80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
// BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
// 00-80-7F
//
// arrayTwo
// --------
// FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
// 0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
// 23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81
//
// arrayThree
// ----------
// 00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
// 00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
// FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
// CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
// 00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D
' Example of some BitConverter.ToString( ) method overloads.
Module BytesToStringDemo

    ' Display a Byte array, using multiple lines if necessary.
    Sub WriteMultiLineByteArray( bytes( ) As Byte, name As String )
       
        Const rowSize As Integer = 20 
        Const underLine As String = "--------------------------------"
        Dim iter As Integer

        Console.WriteLine( name )
        Console.WriteLine( underLine.Substring( 0, _
            Math.Min( name.Length, underLine.Length ) ) )

        For iter = 0 To bytes.Length - rowSize - 1 Step rowSize
            Console.Write( _
                BitConverter.ToString( bytes, iter, rowSize ) )
            Console.WriteLine( "-" )
        Next iter

        Console.WriteLine( BitConverter.ToString( bytes, iter ) )
        Console.WriteLine( )
    End Sub

    Sub Main( )
        Dim arrayOne as Byte( ) = { _
              0,   0,   0,   0, 128,  63,   0,   0, 112,  65, _
              0, 255, 127,  71,   0,   0, 128,  59,   0,   0, _
            128,  47,  73,  70, 131,   5,  75,   6, 158,  63, _
             77,   6, 158,  63,  80,   6, 158,  63,  30,  55, _
            190, 121, 255, 255, 127, 255, 255, 127, 127,   1, _
              0,   0,   0, 192, 255,   0,   0, 128, 255,   0, _
              0, 128, 127 }

        Dim arrayTwo as Byte( ) = { _
            255, 255, 255,   0,   0,  20,   0,  33,   0,   0, _
              0,   1,   0,   0,   0, 100, 167, 179, 182, 224, _
             13,   0, 202, 154,  59,   0, 143,  91,   0, 170, _
            170, 170, 170, 170, 170,   0,   0, 232, 137,   4, _
             35, 199, 138, 255, 232, 244, 255, 252, 205, 255, _
            255, 129 }

        Dim arrayThree as Byte( ) = { _
              0, 222,   0,   0,   0, 224, 111,  64,   0,   0, _
            224, 255, 255, 255, 239,  65,   0,   0, 131,   0, _
              0,   0, 112,  63,   0, 143,   0, 100,   0,   0, _
            240,  61, 223, 136,  30,  28, 254, 116, 170,   1, _
            250,  89, 140,  66, 202, 192, 243,  63, 251,  89, _
            140,  66, 202, 192, 243,  63, 252,  89, 140,  66, _
            202, 192, 243,  63,  82, 211, 187, 188, 232, 126, _
            255, 255, 255, 244, 255, 239, 127,   1,   0,   0, _
              0,  10,  17,   0,   0, 248, 255,   0,  88,   0, _
             91,   0,   0, 240, 255,   0,   0, 240, 157 }

        Console.WriteLine( "This example of the" & vbCrLf & _
            "  BitConverter.ToString( Byte( ), Integer ) and " & _
            vbCrLf & "  BitConverter.ToString( Byte( ), " & _
            "Integer, Integer ) " & vbCrLf & "methods generates " & _
            "the following output." & vbCrLf )

        WriteMultiLineByteArray( arrayOne, "arrayOne" )
        WriteMultiLineByteArray( arrayTwo, "arrayTwo" )
        WriteMultiLineByteArray( arrayThree, "arrayThree" )
    End Sub 
End Module

' This example of the
'   BitConverter.ToString( Byte( ), Integer ) and
'   BitConverter.ToString( Byte( ), Integer, Integer )
' methods generates the following output.
' 
' arrayOne
' --------
' 00-00-00-00-80-3F-00-00-70-41-00-FF-7F-47-00-00-80-3B-00-00-
' 80-2F-49-46-83-05-4B-06-9E-3F-4D-06-9E-3F-50-06-9E-3F-1E-37-
' BE-79-FF-FF-7F-FF-FF-7F-7F-01-00-00-00-C0-FF-00-00-80-FF-00-
' 00-80-7F
' 
' arrayTwo
' --------
' FF-FF-FF-00-00-14-00-21-00-00-00-01-00-00-00-64-A7-B3-B6-E0-
' 0D-00-CA-9A-3B-00-8F-5B-00-AA-AA-AA-AA-AA-AA-00-00-E8-89-04-
' 23-C7-8A-FF-E8-F4-FF-FC-CD-FF-FF-81
' 
' arrayThree
' ----------
' 00-DE-00-00-00-E0-6F-40-00-00-E0-FF-FF-FF-EF-41-00-00-83-00-
' 00-00-70-3F-00-8F-00-64-00-00-F0-3D-DF-88-1E-1C-FE-74-AA-01-
' FA-59-8C-42-CA-C0-F3-3F-FB-59-8C-42-CA-C0-F3-3F-FC-59-8C-42-
' CA-C0-F3-3F-52-D3-BB-BC-E8-7E-FF-FF-FF-F4-FF-EF-7F-01-00-00-
' 00-0A-11-00-00-F8-FF-00-58-00-5B-00-00-F0-FF-00-00-F0-9D

注解

将转换数组位置startIndex中的length元素。 如果 length 等于零,则该方法返回 String.Empty

方法返回 ToString 的十六进制字符串的顺序取决于计算机体系结构是小端还是 big-endian。

适用于