BitConverter.ToChar Method

Definition

Overloads

ToChar(Byte[], Int32)

Returns a Unicode character converted from two bytes at a specified position in a byte array.

ToChar(ReadOnlySpan<Byte>)

Converts a read-only byte span into a character.

ToChar(Byte[], Int32)

Returns a Unicode character converted from two bytes at a specified position in a byte array.

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

Parameters

value
Byte[]

An array that includes the two bytes to convert.

startIndex
Int32

The starting position within value.

Returns

The character formed by two bytes beginning at startIndex.

Exceptions

startIndex equals the length of value minus 1.

value is null.

startIndex is less than zero or greater than the length of value minus 1.

Examples

The following code example converts elements of Byte arrays to Char values (Unicode characters) with the ToChar method.

// Example of the BitConverter::ToChar method.
using namespace System;

// Convert two byte array elements to a __wchar_t and display it.
void BAToChar( array<unsigned char>^bytes, int index )
{
   __wchar_t value = BitConverter::ToChar( bytes, index );
   Console::WriteLine( "{0,5}{1,17}{2,11}", index, BitConverter::ToString( bytes, index, 2 ), value );
}

int main()
{
   array<unsigned char>^byteArray = {32,0,0,42,0,65,0,125,0,197,0,168,3,41,4,172,32};
   Console::WriteLine( "This example of the BitConverter::ToChar( unsigned "
   "char[ ], int ) \nmethod generates the following output. It "
   "converts elements of a \nbyte array to __wchar_t values.\n" );
   Console::WriteLine( "initial unsigned char array" );
   Console::WriteLine( "---------------------------" );
   Console::WriteLine( BitConverter::ToString( byteArray ) );
   Console::WriteLine();
   Console::WriteLine( "{0,5}{1,17}{2,11}", "index", "array elements", "__wchar_t" );
   Console::WriteLine( "{0,5}{1,17}{2,11}", "-----", "--------------", "---------" );
   
   // Convert byte array elements to __wchar_t values.
   BAToChar( byteArray, 0 );
   BAToChar( byteArray, 1 );
   BAToChar( byteArray, 3 );
   BAToChar( byteArray, 5 );
   BAToChar( byteArray, 7 );
   BAToChar( byteArray, 9 );
   BAToChar( byteArray, 11 );
   BAToChar( byteArray, 13 );
   BAToChar( byteArray, 15 );
}

/*
This example of the BitConverter::ToChar(unsigned char[ ], int)
method generates the following output. It converts elements of a
byte array to __wchar_t values.

initial unsigned char array
---------------------------
20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20

index   array elements  __wchar_t
-----   --------------  ---------
    0            20-00
    1            00-00
    3            2A-00          *
    5            41-00          A
    7            7D-00          }
    9            C5-00          Å
   11            A8-03          Ψ
   13            29-04          Щ
   15            AC-20          €
*/
// Example of the BitConverter.ToChar method.
using System;

class BytesToCharDemo
{
    const string formatter = "{0,5}{1,17}{2,8}";

    // Convert two byte array elements to a char and display it.
    public static void BAToChar( byte[] bytes, int index )
    {
        char value = BitConverter.ToChar( bytes, index );

        Console.WriteLine( formatter, index,
            BitConverter.ToString( bytes, index, 2 ), value );
    }

    public static void Main( )
    {
        byte[] byteArray = {
             32,   0,   0,  42,   0,  65,   0, 125,   0,
            197,   0, 168,   3,  41,   4, 172,  32 };

        Console.WriteLine(
            "This example of the BitConverter.ToChar( byte[ ], " +
            "int ) \nmethod generates the following output. It " +
            "converts \nelements of a byte array to char values.\n" );
        Console.WriteLine( "initial byte array" );
        Console.WriteLine( "------------------" );
        Console.WriteLine( BitConverter.ToString( byteArray ) );
        Console.WriteLine( );
        Console.WriteLine( formatter, "index", "array elements", "char" );
        Console.WriteLine( formatter, "-----", "--------------", "----" );

        // Convert byte array elements to char values.
        BAToChar( byteArray, 0 );
        BAToChar( byteArray, 1 );
        BAToChar( byteArray, 3 );
        BAToChar( byteArray, 5 );
        BAToChar( byteArray, 7 );
        BAToChar( byteArray, 9 );
        BAToChar( byteArray, 11 );
        BAToChar( byteArray, 13 );
        BAToChar( byteArray, 15 );
    }
}

/*
This example of the BitConverter.ToChar(byte[ ], int)
method generates the following output. It converts
elements of a byte array to char values.

initial byte array
------------------
20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20

index   array elements    char
-----   --------------    ----
    0            20-00
    1            00-00
    3            2A-00       *
    5            41-00       A
    7            7D-00       }
    9            C5-00       Å
   11            A8-03       Ψ
   13            29-04       Щ
   15            AC-20       €
*/
open System

let print obj1 obj2 obj3 = printfn $"{obj1,5}{obj2,17}{obj3,8}"

// Convert two byte array elements to a char and display it.
let BAToChar bytes index =
    let value = BitConverter.ToChar(bytes, index)

    print index (BitConverter.ToString(bytes, index, 2)) value

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

printfn "This example of the BitConverter.ToChar(byte [], int) \nmethod generates the following output. It converts \nelements of a byte array to char values.\n"
printfn "initial byte array"
printfn "------------------"
printfn $"{BitConverter.ToString byteArray}\n"

print "index" "array elements" "char"
print "-----" "--------------" "----"

// Convert byte array elements to char values.
BAToChar byteArray 0
BAToChar byteArray 1
BAToChar byteArray 3
BAToChar byteArray 5
BAToChar byteArray 7
BAToChar byteArray 9
BAToChar byteArray 11
BAToChar byteArray 13
BAToChar byteArray 15


// This example of the BitConverter.ToChar(byte [], int)
// method generates the following output. It converts
// elements of a byte array to char values.
//
// initial byte array
// ------------------
// 20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20
//
// index   array elements    char
// -----   --------------    ----
//     0            20-00
//     1            00-00
//     3            2A-00       *
//     5            41-00       A
//     7            7D-00       }
//     9            C5-00       Å
//    11            A8-03       Ψ
//    13            29-04       Щ
//    15            AC-20       €
' Example of the BitConverter.ToChar method.
Module BytesToCharDemo

    Const formatter As String = "{0,5}{1,17}{2,8}"
 
    ' Convert two Byte array elements to a Char and display it.
    Sub BAToChar( bytes( ) As Byte, index As Integer )

        Dim value As Char = BitConverter.ToChar( bytes, index )

        Console.WriteLine( formatter, index, _
            BitConverter.ToString( bytes, index, 2 ), value )
    End Sub 
       
    Sub Main( )

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

        Console.WriteLine( _
            "This example of the BitConverter.ToChar( Byte( ), " & _
            "Integer ) " & vbCrLf & "method generates the " & _
            "following output. It converts elements " & vbCrLf & _
            "of a Byte array to Char values." & vbCrLf )
        Console.WriteLine( "initial Byte array" )
        Console.WriteLine( "------------------" )
        Console.WriteLine( BitConverter.ToString( byteArray ) )
        Console.WriteLine( )
        Console.WriteLine( formatter, "index", "array elements", "Char" )
        Console.WriteLine( formatter, "-----", "--------------", "----" )
          
        ' Convert Byte array elements to Char values.
        BAToChar( byteArray, 0 )
        BAToChar( byteArray, 1 )
        BAToChar( byteArray, 3 )
        BAToChar( byteArray, 5 )
        BAToChar( byteArray, 7 )
        BAToChar( byteArray, 9 )
        BAToChar( byteArray, 11 )
        BAToChar( byteArray, 13 )
        BAToChar( byteArray, 15 )
    End Sub 
End Module

' This example of the BitConverter.ToChar( Byte( ), Integer )
' method generates the following output. It converts elements 
' of a Byte array to Char values.
' 
' initial Byte array
' ------------------
' 20-00-00-2A-00-41-00-7D-00-C5-00-A8-03-29-04-AC-20
'
' index   array elements    Char
' -----   --------------    ----
'     0            20-00
'     1            00-00
'     3            2A-00       *
'     5            41-00       A
'     7            7D-00       }
'     9            C5-00       Å
'    11            A8-03       Ψ
'    13            29-04       Щ
'    15            AC-20       €

Remarks

The ToChar method converts the bytes from index startIndex to startIndex + 1 to a Char value. The order of bytes in the array must reflect the endianness of the computer system's architecture. For more information, see the Remarks section of the BitConverter class topic.

See also

Applies to

ToChar(ReadOnlySpan<Byte>)

Converts a read-only byte span into a character.

public:
 static char ToChar(ReadOnlySpan<System::Byte> value);
public static char ToChar (ReadOnlySpan<byte> value);
static member ToChar : ReadOnlySpan<byte> -> char
Public Shared Function ToChar (value As ReadOnlySpan(Of Byte)) As Char

Parameters

value
ReadOnlySpan<Byte>

A read-only span containing the bytes to convert.

Returns

A character representing the converted bytes.

Exceptions

The length of value is less than the length of a Char.

Applies to