BitConverter.ToString Method (array<Byte[], Int32, Int32)
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Converts the numeric value of each element of a specified subarray of bytes to its equivalent hexadecimal string representation.
Namespace: System
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Public Shared Function ToString ( _
value As Byte(), _
startIndex As Integer, _
length As Integer _
) As String
public static string ToString(
byte[] value,
int startIndex,
int length
)
Parameters
- value
Type: array<System.Byte[]
An array of bytes.
- startIndex
Type: System.Int32
The starting position within value.
- length
Type: System.Int32
The number of array elements in value to convert.
Return Value
Type: System.String
A String of hexadecimal pairs separated by hyphens, where each pair represents the corresponding element in a subarray of value; for example, "7F-2C-4A".
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | value is nulla null reference (Nothing in Visual Basic). |
ArgumentOutOfRangeException | startIndex or length is less than zero. -or- startIndex is greater than zero and is greater than or equal to the length of value. |
ArgumentException | The combination of startIndex and length does not specify a position within value; that is, the startIndex parameter is greater than the length of value minus the length parameter. |
Remarks
The length elements from array position startIndex are converted.
If length equals zero, the method returns String.Empty.
Examples
The following code example converts the part of a Byte array starting at the specified startIndex with the specified length to a String using the ToString method.
Module Example
' Display a Byte array, using multiple lines if necessary.
Sub WriteMultiLineByteArray(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal bytes() As Byte, ByVal name As String)
Const rowSize As Integer = 20
Const underLine As String = "--------------------------------"
Dim iter As Integer
outputBlock.Text &= name & vbCrLf
outputBlock.Text &= underLine.Substring(0, _
Math.Min(name.Length, underLine.Length)) & vbCrLf
For iter = 0 To bytes.Length - rowSize - 1 Step rowSize
outputBlock.Text &= BitConverter.ToString(bytes, iter, rowSize)
outputBlock.Text &= "-" & vbCrLf
Next iter
outputBlock.Text &= BitConverter.ToString(bytes, iter) & vbCrLf
outputBlock.Text &= vbCrLf
End Sub
Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
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}
outputBlock.Text &= "This example of the" & vbCrLf & _
" BitConverter.ToString( Byte( ), Integer ) and " & _
vbCrLf & " BitConverter.ToString( Byte( ), " & _
"Integer, Integer ) " & vbCrLf & "methods generates " & _
"the following output." & vbCrLf & vbCrLf
WriteMultiLineByteArray(outputBlock, arrayOne, "arrayOne")
WriteMultiLineByteArray(outputBlock, arrayTwo, "arrayTwo")
WriteMultiLineByteArray(outputBlock, 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
// Example of some BitConverter.ToString( ) method overloads.
using System;
class Example
{
// Display a byte array, using multiple lines if necessary.
public static void WriteMultiLineByteArray(System.Windows.Controls.TextBlock outputBlock, byte[] bytes,
string name)
{
const int rowSize = 20;
const string underLine = "--------------------------------";
int iter;
outputBlock.Text += name + "\n";
outputBlock.Text += underLine.Substring(0,
Math.Min(name.Length, underLine.Length)) + "\n";
for (iter = 0; iter < bytes.Length - rowSize; iter += rowSize)
{
outputBlock.Text += BitConverter.ToString(bytes, iter, rowSize);
outputBlock.Text += "-" + "\n";
}
outputBlock.Text += BitConverter.ToString(bytes, iter) + "\n";
outputBlock.Text += "\n";
}
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
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 };
outputBlock.Text += "This example of the\n" +
" BitConverter.ToString( byte[ ], int ) and \n" +
" BitConverter.ToString( byte[ ], int, int ) \n" +
"methods generates the following output.\n\n";
WriteMultiLineByteArray(outputBlock, arrayOne, "arrayOne");
WriteMultiLineByteArray(outputBlock, arrayTwo, "arrayTwo");
WriteMultiLineByteArray(outputBlock, 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
*/
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.