Udostępnij za pośrednictwem


BitConverter Klasa

Definicja

Konwertuje podstawowe typy danych na tablicę bajtów i tablicę bajtów na podstawowe typy danych.

public ref class BitConverter abstract sealed
public ref class BitConverter sealed
public static class BitConverter
public sealed class BitConverter
type BitConverter = class
Public Class BitConverter
Public NotInheritable Class BitConverter
Dziedziczenie
BitConverter

Przykłady

Poniższy przykład kodu ilustruje użycie kilku metod klasy BitConverter.

// Example of BitConverter class methods.
using namespace System;
int main()
{
   String^ formatter = "{0,25}{1,30}";
   double aDoubl = 0.1111111111111111111;
   float aSingl = 0.1111111111111111111F;
   __int64 aLong = 1111111111111111111;
   int anInt = 1111111111;
   short aShort = 11111;
   __wchar_t aChar = L'*';
   bool aBool = true;
   Console::WriteLine( "This example of methods of the BitConverter class"
   "\ngenerates the following output.\n" );
   Console::WriteLine( formatter, "argument", "byte array" );
   Console::WriteLine( formatter, "--------", "----------" );
   
   // Convert values to Byte arrays and display them.
   Console::WriteLine( formatter, aDoubl, BitConverter::ToString( BitConverter::GetBytes( aDoubl ) ) );
   Console::WriteLine( formatter, aSingl, BitConverter::ToString( BitConverter::GetBytes( aSingl ) ) );
   Console::WriteLine( formatter, aLong, BitConverter::ToString( BitConverter::GetBytes( aLong ) ) );
   Console::WriteLine( formatter, anInt, BitConverter::ToString( BitConverter::GetBytes( anInt ) ) );
   Console::WriteLine( formatter, aShort, BitConverter::ToString( BitConverter::GetBytes( aShort ) ) );
   Console::WriteLine( formatter, aChar, BitConverter::ToString( BitConverter::GetBytes( aChar ) ) );
   Console::WriteLine( formatter, aBool, BitConverter::ToString( BitConverter::GetBytes( aBool ) ) );
}

/*
This example of methods of the BitConverter class
generates the following output.

                 argument                    byte array
                 --------                    ----------
        0.111111111111111       1C-C7-71-1C-C7-71-BC-3F
                0.1111111                   39-8E-E3-3D
      1111111111111111111       C7-71-C4-2B-AB-75-6B-0F
               1111111111                   C7-35-3A-42
                    11111                         67-2B
                        *                         2A-00
                     True                            01
*/
// Example of BitConverter class methods.
using System;

class BitConverterDemo
{
    public static void Main( )
    {
        const string formatter = "{0,25}{1,30}";

        double  aDoubl  = 0.1111111111111111111;
        float   aSingl  = 0.1111111111111111111F;
        long    aLong   = 1111111111111111111;
        int     anInt   = 1111111111;
        short   aShort  = 11111;
        char    aChar   = '*';
        bool    aBool   = true;

        Console.WriteLine(
            "This example of methods of the BitConverter class" +
            "\ngenerates the following output.\n" );
        Console.WriteLine( formatter, "argument", "byte array" );
        Console.WriteLine( formatter, "--------", "----------" );

        // Convert values to Byte arrays and display them.
        Console.WriteLine( formatter, aDoubl,
            BitConverter.ToString( BitConverter.GetBytes( aDoubl ) ) );
        Console.WriteLine( formatter, aSingl,
            BitConverter.ToString( BitConverter.GetBytes( aSingl ) ) );
        Console.WriteLine( formatter, aLong,
            BitConverter.ToString( BitConverter.GetBytes( aLong ) ) );
        Console.WriteLine( formatter, anInt,
            BitConverter.ToString( BitConverter.GetBytes( anInt ) ) );
        Console.WriteLine( formatter, aShort,
            BitConverter.ToString( BitConverter.GetBytes( aShort ) ) );
        Console.WriteLine( formatter, aChar,
            BitConverter.ToString( BitConverter.GetBytes( aChar ) ) );
        Console.WriteLine( formatter, aBool,
            BitConverter.ToString( BitConverter.GetBytes( aBool ) ) );
    }
}

/*
This example of methods of the BitConverter class
generates the following output.

                 argument                    byte array
                 --------                    ----------
        0.111111111111111       1C-C7-71-1C-C7-71-BC-3F
                0.1111111                   39-8E-E3-3D
      1111111111111111111       C7-71-C4-2B-AB-75-6B-0F
               1111111111                   C7-35-3A-42
                    11111                         67-2B
                        *                         2A-00
                     True                            01
*/
open System

let print: obj -> obj -> unit = printfn "%25O%30O"

let aDoubl = 0.1111111111111111111
let aSingl = 0.1111111111111111111f
let aLong = 1111111111111111111L
let anInt = 1111111111
let aShort = 11111s
let aChar = '*'
let aBool = true

printfn "This example of methods of the BitConverter class\ngenerates the following output.\n"
print "argument" "byte array"
print "--------" "----------"

// Convert values to Byte arrays and display them.
print aDoubl (BitConverter.ToString(BitConverter.GetBytes aDoubl))

print aSingl (BitConverter.ToString(BitConverter.GetBytes aSingl))

print aLong (BitConverter.ToString(BitConverter.GetBytes aLong))

print anInt (BitConverter.ToString(BitConverter.GetBytes anInt))

print aShort (BitConverter.ToString(BitConverter.GetBytes aShort))

print aChar (BitConverter.ToString(BitConverter.GetBytes aChar))

print aBool (BitConverter.ToString(BitConverter.GetBytes aBool))


// This example of methods of the BitConverter class
// generates the following output.
//
//                  argument                    byte array
//                  --------                    ----------
//         0.111111111111111       1C-C7-71-1C-C7-71-BC-3F
//                 0.1111111                   39-8E-E3-3D
//       1111111111111111111       C7-71-C4-2B-AB-75-6B-0F
//                1111111111                   C7-35-3A-42
//                     11111                         67-2B
//                         *                         2A-00
//                      True                            01
' Example of BitConverter class methods.
Module BitConverterDemo

    Sub Main( )

        Const formatter As String = "{0,25}{1,30}"
 
        Dim aDoubl      As Double   = 0.1111111111111111111
        Dim aSingl      As Single   = 0.1111111111111111111
        Dim aLong       As Long     = 1111111111111111111
        Dim anInt       As Integer  = 1111111111
        Dim aShort      As Short    = 11111
        Dim aChar       As Char     = "*"c
        Dim aBool       As Boolean  = True

        Console.WriteLine( _
            "This example of methods of the BitConverter class" & _
            vbCrLf & "generates the following output." & vbCrLf )
        Console.WriteLine( formatter, "argument", "Byte array" )
        Console.WriteLine( formatter, "--------", "----------" )

        ' Convert values to Byte arrays and display them.
        Console.WriteLine( formatter, aDoubl, _
            BitConverter.ToString( BitConverter.GetBytes( aDoubl ) ) )
        Console.WriteLine( formatter, aSingl, _
            BitConverter.ToString( BitConverter.GetBytes( aSingl ) ) )
        Console.WriteLine( formatter, aLong, _
            BitConverter.ToString( BitConverter.GetBytes( aLong ) ) )
        Console.WriteLine( formatter, anInt, _
            BitConverter.ToString( BitConverter.GetBytes( anInt ) ) )
        Console.WriteLine( formatter, aShort, _
            BitConverter.ToString( BitConverter.GetBytes( aShort ) ) )
        Console.WriteLine( formatter, aChar, _
            BitConverter.ToString( BitConverter.GetBytes( aChar ) ) )
        Console.WriteLine( formatter, aBool, _
            BitConverter.ToString( BitConverter.GetBytes( aBool ) ) )
    End Sub
End Module

' This example of methods of the BitConverter class
' generates the following output.
' 
'                  argument                    Byte array
'                  --------                    ----------
'         0.111111111111111       1C-C7-71-1C-C7-71-BC-3F
'                 0.1111111                   39-8E-E3-3D
'       1111111111111111111       C7-71-C4-2B-AB-75-6B-0F
'                1111111111                   C7-35-3A-42
'                     11111                         67-2B
'                         *                         2A-00
'                      True                            01

Uwagi

Klasa BitConverter pomaga manipulować typami wartości w ich podstawowej formie jako serii bajtów. Bajt jest definiowany jako 8-bitowa liczba całkowita bez znaku. Klasa BitConverter zawiera metody statyczne do konwertowania poszczególnych typów pierwotnych na i z tablicy bajtów, jak pokazano w poniższej tabeli.

Typ Konwersja bajtów na bajt Z konwersji bajtów
Boolean GetBytes(Boolean) ToBoolean
Char GetBytes(Char) ToChar
Double GetBytes(Double)
-lub-
DoubleToInt64Bits(Double)
-lub-
DoubleToUInt64Bits(Double)
ToDouble
-lub-
Int64BitsToDouble
-lub-
UInt64BitsToDouble
Half GetBytes(Half)
-lub-
HalfToInt16Bits(Half)
-lub-
HalfToUInt16Bits(Half)
ToHalf
-lub-
Int16BitsToHalf
-lub-
UInt16BitsToHalf
Int16 GetBytes(Int16) ToInt16
Int32 GetBytes(Int32) ToInt32
Int64 GetBytes(Int64) ToInt64
Single GetBytes(Single)
-lub-
SingleToInt32Bits(Single)
-lub-
SingleToUInt32Bits(Single)
ToSingle
-lub-
Int32BitsToSingle
-lub-
UInt32BitsToSingle
UInt16 GetBytes(UInt16) ToUInt16
UInt32 GetBytes(UInt32) ToUInt32
UInt64 GetBytes(UInt64) ToUInt64

Jeśli używasz metod BitConverter do danych dwukierunkowych, upewnij się, że przeciążenie GetBytes i metoda ToType określają ten sam typ. Jak pokazano w poniższym przykładzie, przywrócenie tablicy reprezentującej podpisaną liczbę całkowitą przez wywołanie metody ToUInt32 może spowodować, że wartość różni się od oryginalnej. Aby uzyskać więcej informacji, zobacz Praca z podpisanymi wartościami nieprzecinkowymi i bitowymi.

using System;

public class Example
{
   public static void Main()
   {
      int value = -16;
      Byte[] bytes = BitConverter.GetBytes(value);

      // Convert bytes back to int.
      int intValue = BitConverter.ToInt32(bytes, 0);
      Console.WriteLine("{0} = {1}: {2}",
                        value, intValue,
                        value.Equals(intValue) ? "Round-trips" : "Does not round-trip");
      // Convert bytes to UInt32.
      uint uintValue = BitConverter.ToUInt32(bytes, 0);
      Console.WriteLine("{0} = {1}: {2}", value, uintValue,
                        value.Equals(uintValue) ? "Round-trips" : "Does not round-trip");
   }
}
// The example displays the following output:
//       -16 = -16: Round-trips
//       -16 = 4294967280: Does not round-trip
open System

let value = -16
let bytes = BitConverter.GetBytes value

// Convert bytes back to int.
let intValue = BitConverter.ToInt32(bytes, 0)
printfn $"""{value} = {intValue}: {if value.Equals intValue then "Round-trips" else "Does not round-trip"}"""

// Convert bytes to UInt32.
let uintValue = BitConverter.ToUInt32(bytes, 0)
printfn $"""{value} = {uintValue}: {if value.Equals uintValue then "Round-trips" else "Does not round-trip"}"""


// The example displays the following output:
//       -16 = -16: Round-trips
//       -16 = 4294967280: Does not round-trip
Module Example
   Public Sub Main()
      Dim value As Integer = -16
      Dim bytes() As Byte = BitConverter.GetBytes(value) 
      
      ' Convert bytes back to Int32.
      Dim intValue As Integer = BitConverter.ToInt32(bytes, 0)
      Console.WriteLine("{0} = {1}: {2}", 
                        value, intValue, 
                        If(value.Equals(intValue), "Round-trips", "Does not round-trip"))
      ' Convert bytes to UInt32.
      Dim uintValue As UInteger = BitConverter.ToUInt32(bytes, 0)
      Console.WriteLine("{0} = {1}: {2}", value, uintValue, 
                        If(value.Equals(uintValue), "Round-trips", "Does not round-trip"))
   End Sub
End Module
' The example displays the following output:
'       -16 = -16: Round-trips
'       -16 = 4294967280: Does not round-trip

Kolejność bajtów w tablicy zwracanej przez przeciążenia metody GetBytes (a także kolejność bitów w liczbą całkowitą zwracaną przez metodę DoubleToInt64Bits) zależy od tego, czy architektura komputera jest mała, czy big-endian. Podobnie kolejność bajtów w tablicy i zwracana przez metody ToIntegerValue i metoda ToChar zależy od tego, czy architektura komputera jest mało endian, czy big-endian. Endianness architektury jest wskazywana przez właściwość IsLittleEndian, która zwraca true w systemach mało endińskich i false w systemach big-endian. W systemach typu little-endian bajty niższej kolejności poprzedzają bajty o wyższej kolejności. W systemie big-endian bajty wyższego rzędu poprzedzają bajty niższej kolejności. W poniższej tabeli przedstawiono różnicę w tablicach bajtów, które wynikają z przekazania liczby całkowitej 1234 567 890 (0x499602D2) do metody GetBytes(Int32). Bajty są wyświetlane w kolejności od bajtu w indeksie 0 do bajtu w indeksie 3.

Little-endian D2-02-96-49
Big-endian 49-96-02-D2

Ponieważ wartość zwracana niektórych metod zależy od architektury systemu, należy zachować ostrożność podczas przesyłania danych bajtów poza granice maszyny:

  • Jeśli wszystkie systemy wysyłające i odbierające dane mają gwarancję takiej samej endianness, nie trzeba nic robić z danymi.

  • Jeśli systemy wysyłające i odbierające dane mogą mieć różną endianność, zawsze przesyłają dane w określonej kolejności. Oznacza to, że kolejność bajtów w tablicy może być odwrócona przed ich wysłaniem lub po otrzymaniu. Typową konwencją jest przesyłanie danych w kolejności bajtów sieciowych (kolejność big-endian). Poniższy przykład zawiera implementację wysyłania wartości całkowitej w kolejności bajtów sieciowych.

    using System;
    
    public class Example
    {
       public static void Main()
       {
          int value = 12345678;
          byte[] bytes = BitConverter.GetBytes(value);
          Console.WriteLine(BitConverter.ToString(bytes));
    
          if (BitConverter.IsLittleEndian)
             Array.Reverse(bytes);
    
          Console.WriteLine(BitConverter.ToString(bytes));
          // Call method to send byte stream across machine boundaries.
    
          // Receive byte stream from beyond machine boundaries.
          Console.WriteLine(BitConverter.ToString(bytes));
          if (BitConverter.IsLittleEndian)
             Array.Reverse(bytes);
    
          Console.WriteLine(BitConverter.ToString(bytes));
          int result = BitConverter.ToInt32(bytes, 0);
          Console.WriteLine("Original value: {0}", value);
          Console.WriteLine("Returned value: {0}", result);
       }
    }
    // The example displays the following output on a little-endian system:
    //       4E-61-BC-00
    //       00-BC-61-4E
    //       00-BC-61-4E
    //       4E-61-BC-00
    //       Original value: 12345678
    //       Returned value: 12345678
    
    open System
    
    let value = 12345678
    let bytes = BitConverter.GetBytes value
    printfn $"{BitConverter.ToString bytes}"
    
    if BitConverter.IsLittleEndian then
        Array.Reverse bytes
    
    printfn $"{BitConverter.ToString bytes}"
    // Call method to send byte stream across machine boundaries.
    
    // Receive byte stream from beyond machine boundaries.
    printfn $"{BitConverter.ToString bytes}"
    if BitConverter.IsLittleEndian then
        Array.Reverse bytes
    
    printfn $"{BitConverter.ToString bytes}"
    let result = BitConverter.ToInt32(bytes, 0)
    
    printfn $"Original value: {value}"
    printfn $"Returned value: {result}"
    
    // The example displays the following output on a little-endian system:
    //       4E-61-BC-00
    //       00-BC-61-4E
    //       00-BC-61-4E
    //       4E-61-BC-00
    //       Original value: 12345678
    //       Returned value: 12345678
    
    Module Example
       Public Sub Main()
          Dim value As Integer = 12345678
          Dim bytes() As Byte = BitConverter.GetBytes(value)
          Console.WriteLine(BitConverter.ToString(bytes))
          
          If BitConverter.IsLittleEndian Then
             Array.Reverse(bytes) 
          End If
          Console.WriteLine(BitConverter.ToString(bytes))
          ' Call method to send byte stream across machine boundaries.
          
          ' Receive byte stream from beyond machine boundaries.
          Console.WriteLine(BitConverter.ToString(bytes))
          If BitConverter.IsLittleEndian Then     
             Array.Reverse(bytes)
          End If   
          Console.WriteLine(BitConverter.ToString(bytes))
          Dim result As Integer = BitConverter.ToInt32(bytes, 0)
          Console.WriteLine("Original value: {0}", value)
          Console.WriteLine("Returned value: {0}", result)
       End Sub
    End Module
    ' The example displays the following output on a little-endian system:
    '       4E-61-BC-00
    '       00-BC-61-4E
    '       00-BC-61-4E
    '       4E-61-BC-00
    '       Original value: 12345678
    '       Returned value: 12345678
    
  • Jeśli systemy wysyłające i odbierające dane mogą mieć różne endianness, a dane, które mają być przesyłane, składają się z podpisanych liczb całkowitych, wywołaj metodę IPAddress.HostToNetworkOrder, aby przekonwertować dane na kolejność bajtów sieciowych i metodę IPAddress.NetworkToHostOrder, aby przekonwertować je na kolejność wymaganą przez odbiorcę.

Pola

IsLittleEndian

Wskazuje kolejność bajtów ("endianness"), w której dane są przechowywane w tej architekturze komputera.

Metody

DoubleToInt64Bits(Double)

Konwertuje określoną liczbę zmiennoprzecinkową o podwójnej precyzji na 64-bitową liczbę całkowitą ze znakiem.

DoubleToUInt64Bits(Double)

Konwertuje określoną liczbę zmiennoprzecinkową o podwójnej precyzji na 64-bitową liczbę całkowitą bez znaku.

GetBytes(Boolean)

Zwraca określoną wartość logiczną jako tablicę bajtów.

GetBytes(Char)

Zwraca określoną wartość znaku Unicode jako tablicę bajtów.

GetBytes(Double)

Zwraca określoną wartość zmiennoprzecinkową o podwójnej precyzji jako tablicę bajtów.

GetBytes(Half)

Zwraca określoną wartość zmiennoprzecinkową o połowę precyzji jako tablicę bajtów.

GetBytes(Int128)

Zwraca określoną 128-bitową wartość całkowitą ze znakiem jako tablicę bajtów.

GetBytes(Int16)

Zwraca określoną 16-bitową wartość całkowitą ze znakiem jako tablicę bajtów.

GetBytes(Int32)

Zwraca określoną 32-bitową wartość całkowitą ze znakiem jako tablicę bajtów.

GetBytes(Int64)

Zwraca 64-bitową wartość całkowitą ze znakiem 64-bitowym jako tablicę bajtów.

GetBytes(Single)

Zwraca określoną wartość zmiennoprzecinkową o pojedynczej precyzji jako tablicę bajtów.

GetBytes(UInt128)

Zwraca 128-bitową niepodpisaną wartość całkowitą jako tablicę bajtów.

GetBytes(UInt16)

Zwraca 16-bitową niepodpisaną wartość całkowitą jako tablicę bajtów.

GetBytes(UInt32)

Zwraca 32-bitową niepodpisaną wartość całkowitą jako tablicę bajtów.

GetBytes(UInt64)

Zwraca 64-bitową niepodpisaną wartość całkowitą jako tablicę bajtów.

HalfToInt16Bits(Half)

Konwertuje wartość zmiennoprzecinkowa o pół precyzji na 16-bitową liczbę całkowitą.

HalfToUInt16Bits(Half)

Konwertuje określoną liczbę zmiennoprzecinkową o połowę precyzji na 16-bitową liczbę całkowitą bez znaku.

Int16BitsToHalf(Int16)

Ponownie interpretuje określoną 16-bitową wartość całkowitą ze znakiem jako wartość zmiennoprzecinkowa o połowę precyzji.

Int32BitsToSingle(Int32)

Ponownie interpretuje określoną liczbę całkowitą 32-bitową jako wartość zmiennoprzecinkową o pojedynczej precyzji.

Int64BitsToDouble(Int64)

Ponownie interpretuje 64-bitową liczbę całkowitą ze znakiem 64-bitowym na liczbę zmiennoprzecinkową o podwójnej precyzji.

SingleToInt32Bits(Single)

Konwertuje wartość zmiennoprzecinkową o pojedynczej precyzji na liczbę całkowitą.

SingleToUInt32Bits(Single)

Konwertuje określoną liczbę zmiennoprzecinkową o pojedynczej precyzji na 32-bitową liczbę całkowitą bez znaku.

ToBoolean(Byte[], Int32)

Zwraca wartość logiczną przekonwertowaną z bajtu na określoną pozycję w tablicy bajtów.

ToBoolean(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na wartość logiczną.

ToChar(Byte[], Int32)

Zwraca znak Unicode przekonwertowany z dwóch bajtów w określonej pozycji w tablicy bajtów.

ToChar(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na znak.

ToDouble(Byte[], Int32)

Zwraca liczbę zmiennoprzecinkową o podwójnej precyzji przekonwertowaną z ośmiu bajtów w określonej pozycji w tablicy bajtów.

ToDouble(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na wartość zmiennoprzecinkową o podwójnej precyzji.

ToHalf(Byte[], Int32)

Zwraca liczbę zmiennoprzecinkową o pół precyzji przekonwertowaną z dwóch bajtów w określonej pozycji w tablicy bajtów.

ToHalf(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na wartość zmiennoprzecinkową o pół precyzji.

ToInt128(Byte[], Int32)

Zwraca 128-bitową liczbę całkowitą ze znakiem przekonwertowaną z szesnastu bajtów w określonej pozycji w tablicy bajtów.

ToInt128(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 128-bitową liczbę całkowitą ze znakiem.

ToInt16(Byte[], Int32)

Zwraca 16-bitową liczbę całkowitą ze znakiem przekonwertowaną z dwóch bajtów na określonej pozycji w tablicy bajtów.

ToInt16(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 16-bitową liczbę całkowitą ze znakiem.

ToInt32(Byte[], Int32)

Zwraca 32-bitową liczbę całkowitą ze znakiem przekonwertowaną z czterech bajtów na określonej pozycji w tablicy bajtów.

ToInt32(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 32-bitową liczbę całkowitą ze znakiem.

ToInt64(Byte[], Int32)

Zwraca 64-bitową liczbę całkowitą ze znakiem przekonwertowaną z ośmiu bajtów na określonej pozycji w tablicy bajtów.

ToInt64(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 64-bitową liczbę całkowitą ze znakiem.

ToSingle(Byte[], Int32)

Zwraca liczbę zmiennoprzecinkową o pojedynczej precyzji przekonwertowaną z czterech bajtów w określonej pozycji w tablicy bajtów.

ToSingle(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na wartość zmiennoprzecinkową o pojedynczej precyzji.

ToString(Byte[])

Konwertuje wartość liczbową każdego elementu określonej tablicy bajtów na równoważną reprezentację ciągu szesnastkowego.

ToString(Byte[], Int32)

Konwertuje wartość liczbową każdego elementu określonego podarray bajtów na równoważną reprezentację ciągu szesnastkowego.

ToString(Byte[], Int32, Int32)

Konwertuje wartość liczbową każdego elementu określonego podarray bajtów na równoważną reprezentację ciągu szesnastkowego.

ToUInt128(Byte[], Int32)

Zwraca 128-bitową liczbę całkowitą bez znaku przekonwertowaną z czterech bajtów na określonej pozycji w tablicy bajtów.

ToUInt128(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 128-bitową niepodpisaną liczbę całkowitą.

ToUInt16(Byte[], Int32)

Zwraca 16-bitową liczbę całkowitą bez znaku przekonwertowaną z dwóch bajtów na określonej pozycji w tablicy bajtów.

ToUInt16(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 16-bitową niepodpisaną liczbę całkowitą.

ToUInt32(Byte[], Int32)

Zwraca 32-bitową liczbę całkowitą bez znaku przekonwertowaną z czterech bajtów na określonej pozycji w tablicy bajtów.

ToUInt32(ReadOnlySpan<Byte>)

Konwertuje zakres bajtów tylko do odczytu na 32-bitową niepodpisaną liczbę całkowitą.

ToUInt64(Byte[], Int32)

Zwraca 64-bitową liczbę całkowitą bez znaku przekonwertowaną z ośmiu bajtów na określonej pozycji w tablicy bajtów.

ToUInt64(ReadOnlySpan<Byte>)

Konwertuje bajty na niepodpisane długo.

TryWriteBytes(Span<Byte>, Boolean)

Konwertuje wartość logiczną na zakres bajtów.

TryWriteBytes(Span<Byte>, Char)

Konwertuje znak na zakres bajtów.

TryWriteBytes(Span<Byte>, Double)

Konwertuje wartość zmiennoprzecinkową o podwójnej precyzji na zakres bajtów.

TryWriteBytes(Span<Byte>, Half)

Konwertuje wartość zmiennoprzecinkową o pół precyzji na zakres bajtów.

TryWriteBytes(Span<Byte>, Int128)

Konwertuje 128-bitową liczbę całkowitą ze znakiem na zakres bajtów.

TryWriteBytes(Span<Byte>, Int16)

Konwertuje 16-bitową liczbę całkowitą ze znakiem na zakres bajtów.

TryWriteBytes(Span<Byte>, Int32)

Konwertuje 32-bitową liczbę całkowitą ze znakiem na zakres bajtów.

TryWriteBytes(Span<Byte>, Int64)

Konwertuje 64-bitową liczbę całkowitą ze znakiem na zakres bajtów.

TryWriteBytes(Span<Byte>, Single)

Konwertuje wartość zmiennoprzecinkową o pojedynczej precyzji na zakres bajtów.

TryWriteBytes(Span<Byte>, UInt128)

Konwertuje 128-bitową liczbę całkowitą bez znaku na zakres bajtów.

TryWriteBytes(Span<Byte>, UInt16)

Konwertuje niepodpisaną 16-bitową liczbę całkowitą na zakres bajtów.

TryWriteBytes(Span<Byte>, UInt32)

Konwertuje 32-bitową liczbę całkowitą bez znaku na zakres bajtów.

TryWriteBytes(Span<Byte>, UInt64)

Konwertuje niepodpisaną liczbę całkowitą 64-bitową na zakres bajtów.

UInt16BitsToHalf(UInt16)

Konwertuje określoną 16-bitową liczbę całkowitą bez znaku na liczbę zmiennoprzecinkową o połowę precyzji.

UInt32BitsToSingle(UInt32)

Konwertuje określoną 32-bitową liczbę całkowitą bez znaku na liczbę zmiennoprzecinkową o pojedynczej precyzji.

UInt64BitsToDouble(UInt64)

Konwertuje 64-bitową liczbę całkowitą bez znaku na liczbę zmiennoprzecinkową o podwójnej precyzji.

Dotyczy

Zobacz też