Encoding.GetByteCount Methode

Definitie

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens te coderen.

Overloads

Name Description
GetByteCount(String, Int32, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens van de opgegeven tekenreeks te coderen.

GetByteCount(Char[], Int32, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens van de opgegeven tekenmatrix te coderen.

GetByteCount(Char*, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens te coderen die beginnen bij de opgegeven tekenwijzer.

GetByteCount(String)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door de tekens in de opgegeven tekenreeks te coderen.

GetByteCount(ReadOnlySpan<Char>)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door de tekens in het opgegeven tekenbereik te coderen.

GetByteCount(Char[])

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door alle tekens in de opgegeven tekenmatrix te coderen.

GetByteCount(String, Int32, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens van de opgegeven tekenreeks te coderen.

public:
 int GetByteCount(System::String ^ s, int index, int count);
public int GetByteCount(string s, int index, int count);
member this.GetByteCount : string * int * int -> int
Public Function GetByteCount (s As String, index As Integer, count As Integer) As Integer

Parameters

s
String

De tekenreeks die de set tekens bevat die moeten worden gecodeerd.

index
Int32

De index van het eerste teken om te coderen.

count
Int32

Het aantal tekens dat moet worden gecodeerd.

Retouren

Het aantal bytes dat wordt geproduceerd door de tekenreeks te coderen.

Voorbeelden

In het volgende voorbeeld wordt het aantal bytes bepaald dat is vereist om drie tekens te coderen uit een tekenmatrix, de tekens te coderen en de resulterende bytes weer te geven.

using System;
using System.Text;

public class SamplesEncoding  {

   public static void Main()  {

      // The characters to encode:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    a low-surrogate value (U+DCFF)
      char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' };

      // Get different encodings.
      Encoding  u7    = Encoding.UTF7;
      Encoding  u8    = Encoding.UTF8;
      Encoding  u16LE = Encoding.Unicode;
      Encoding  u16BE = Encoding.BigEndianUnicode;
      Encoding  u32   = Encoding.UTF32;

      // Encode three characters starting at index 4, and print out the counts and the resulting bytes.
      PrintCountsAndBytes( myChars, 4, 3, u7 );
      PrintCountsAndBytes( myChars, 4, 3, u8 );
      PrintCountsAndBytes( myChars, 4, 3, u16LE );
      PrintCountsAndBytes( myChars, 4, 3, u16BE );
      PrintCountsAndBytes( myChars, 4, 3, u32 );
   }

   public static void PrintCountsAndBytes( char[] chars, int index, int count, Encoding enc )  {

      // Display the name of the encoding used.
      Console.Write( "{0,-30} :", enc.ToString() );

      // Display the exact byte count.
      int iBC  = enc.GetByteCount( chars, index, count );
      Console.Write( " {0,-3}", iBC );

      // Display the maximum byte count.
      int iMBC = enc.GetMaxByteCount( count );
      Console.Write( " {0,-3} :", iMBC );

      // Encode the array of chars.
      byte[] bytes = enc.GetBytes( chars, index, count );

      // The following is an alternative way to encode the array of chars:
      // byte[] bytes = new byte[iBC];
      // enc.GetBytes( chars, index, count, bytes, bytes.GetLowerBound(0) );

      // Display all the encoded bytes.
      PrintHexBytes( bytes );
   }

   public static void PrintHexBytes( byte[] bytes )  {

      if (( bytes == null ) || ( bytes.Length == 0 ))
        {
            Console.WriteLine( "<none>" );
        }
        else  {
         for ( int i = 0; i < bytes.Length; i++ )
            Console.Write( "{0:X2} ", bytes[i] );
         Console.WriteLine();
      }
   }
}


/* 
This code produces the following output.

System.Text.UTF7Encoding       : 10  11  :2B 41 37 4C 59 2F 39 7A 2F 2D
System.Text.UTF8Encoding       : 6   12  :CE B2 F1 8F B3 BF
System.Text.UnicodeEncoding    : 6   8   :B2 03 FF D8 FF DC
System.Text.UnicodeEncoding    : 6   8   :03 B2 D8 FF DC FF
System.Text.UTF32Encoding      : 8   16  :B2 03 00 00 FF FC 04 00

*/
Imports System.Text

Public Class SamplesEncoding   

   Public Shared Sub Main()

      ' The characters to encode:
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    a high-surrogate value (U+D8FF)
      '    a low-surrogate value (U+DCFF)
      Dim myChars() As Char = {"z"c, "a"c, ChrW(&H0306), ChrW(&H01FD), ChrW(&H03B2), ChrW(&HD8FF), ChrW(&HDCFF) }

      ' Get different encodings.
      Dim u7 As Encoding = Encoding.UTF7
      Dim u8 As Encoding = Encoding.UTF8
      Dim u16LE As Encoding = Encoding.Unicode
      Dim u16BE As Encoding = Encoding.BigEndianUnicode
      Dim u32 As Encoding = Encoding.UTF32

      ' Encode three characters starting at index 4, and print out the counts and the resulting bytes.
      PrintCountsAndBytes(myChars, 4, 3, u7)
      PrintCountsAndBytes(myChars, 4, 3, u8)
      PrintCountsAndBytes(myChars, 4, 3, u16LE)
      PrintCountsAndBytes(myChars, 4, 3, u16BE)
      PrintCountsAndBytes(myChars, 4, 3, u32)

   End Sub


   Public Shared Sub PrintCountsAndBytes(chars() As Char, index As Integer, count As Integer, enc As Encoding)

      ' Display the name of the encoding used.
      Console.Write("{0,-30} :", enc.ToString())

      ' Display the exact byte count.
      Dim iBC As Integer = enc.GetByteCount(chars, index, count)
      Console.Write(" {0,-3}", iBC)

      ' Display the maximum byte count.
      Dim iMBC As Integer = enc.GetMaxByteCount(count)
      Console.Write(" {0,-3} :", iMBC)

      ' Encode the array of chars.
      Dim bytes As Byte() = enc.GetBytes(chars, index, count)

      ' The following is an alternative way to encode the array of chars:
      ' NOTE: In VB.NET, arrays contain one extra element by default.
      '       The following line creates the array with the exact number of elements required.
      ' Dim bytes(iBC - 1) As Byte
      ' enc.GetBytes( chars, index, count, bytes, bytes.GetLowerBound(0) )

      ' Display all the encoded bytes.
      PrintHexBytes(bytes)

   End Sub


   Public Shared Sub PrintHexBytes(bytes() As Byte)

      If bytes Is Nothing OrElse bytes.Length = 0 Then
         Console.WriteLine("<none>")
      Else
         Dim i As Integer
         For i = 0 To bytes.Length - 1
            Console.Write("{0:X2} ", bytes(i))
         Next i
         Console.WriteLine()
      End If

   End Sub

End Class


'This code produces the following output.
'
'System.Text.UTF7Encoding       : 10  11  :2B 41 37 4C 59 2F 39 7A 2F 2D
'System.Text.UTF8Encoding       : 6   12  :CE B2 F1 8F B3 BF
'System.Text.UnicodeEncoding    : 6   8   :B2 03 FF D8 FF DC
'System.Text.UnicodeEncoding    : 6   8   :03 B2 D8 FF DC FF
'System.Text.UTF32Encoding      : 8   16  :B2 03 00 00 FF FC 04 00

Opmerkingen

Als u de exacte matrixgrootte wilt berekenen die is vereist voor GetBytes het opslaan van de resulterende bytes, roept u de GetByteCount methode aan. Als u de maximale matrixgrootte wilt berekenen, roept u de GetMaxByteCount methode aan. Met de GetByteCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxByteCount methode doorgaans sneller wordt uitgevoerd.

De GetByteCount methode bepaalt hoeveel bytes resulteren in het coderen van een set Unicode-tekens en de GetBytes methode voert de daadwerkelijke codering uit. De GetBytes methode verwacht discrete conversies, in tegenstelling tot de Encoder.GetBytes methode, die meerdere conversies op één invoerstroom verwerkt.

Verschillende versies van GetByteCount en GetBytes worden ondersteund. Hier volgen enkele programmeeroverwegingen voor het gebruik van deze methoden:

  • Uw app moet mogelijk veel invoertekens coderen naar een codepagina en de tekens verwerken met behulp van meerdere aanroepen. In dit geval moet u waarschijnlijk de status tussen aanroepen onderhouden, rekening houdend met de status die wordt behouden door het Encoder object dat wordt gebruikt.

  • Als uw app tekenreeksinvoer verwerkt, wordt de tekenreeksversie aanbevolen GetBytes .

  • Met de Unicode-tekenbufferversie zijn GetBytes(Char*, Int32, Byte*, Int32) enkele snelle technieken mogelijk, met name bij meerdere aanroepen met behulp van het Encoder object of het invoegen in bestaande buffers. Houd er echter rekening mee dat deze methodeversie soms onveilig is, omdat aanwijzers vereist zijn.

  • Als uw app een grote hoeveelheid gegevens moet converteren, moet deze de uitvoerbuffer opnieuw gebruiken. In dit geval is de GetBytes versie die bytematrices ondersteunt de beste keuze.

  • Overweeg om de Encoder.Convert methode te gebruiken in plaats van GetByteCount. De conversiemethode converteert zoveel mogelijk gegevens en genereert een uitzondering als de uitvoerbuffer te klein is. Voor continue codering van een stream is deze methode vaak de beste keuze.

Van toepassing op

GetByteCount(Char[], Int32, Int32)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens van de opgegeven tekenmatrix te coderen.

public:
 abstract int GetByteCount(cli::array <char> ^ chars, int index, int count);
public abstract int GetByteCount(char[] chars, int index, int count);
abstract member GetByteCount : char[] * int * int -> int
Public MustOverride Function GetByteCount (chars As Char(), index As Integer, count As Integer) As Integer

Parameters

chars
Char[]

De tekenmatrix die de set tekens bevat die moeten worden gecodeerd.

index
Int32

De index van het eerste teken om te coderen.

count
Int32

Het aantal tekens dat moet worden gecodeerd.

Retouren

Het aantal bytes dat wordt geproduceerd door de opgegeven tekens te coderen.

Uitzonderingen

chars is null.

index of count kleiner is dan nul.

– of –

index en count geef geen geldig bereik aan in chars.

Er is een terugval opgetreden (zie Character Encoding in .NET)

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Voorbeelden

In het volgende voorbeeld wordt het aantal bytes bepaald dat is vereist om drie tekens te coderen uit een tekenmatrix, de tekens te coderen en de resulterende bytes weer te geven.

using System;
using System.Text;

public class SamplesEncoding  {

   public static void Main()  {

      // The characters to encode:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    a low-surrogate value (U+DCFF)
      char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' };

      // Get different encodings.
      Encoding  u7    = Encoding.UTF7;
      Encoding  u8    = Encoding.UTF8;
      Encoding  u16LE = Encoding.Unicode;
      Encoding  u16BE = Encoding.BigEndianUnicode;
      Encoding  u32   = Encoding.UTF32;

      // Encode three characters starting at index 4, and print out the counts and the resulting bytes.
      PrintCountsAndBytes( myChars, 4, 3, u7 );
      PrintCountsAndBytes( myChars, 4, 3, u8 );
      PrintCountsAndBytes( myChars, 4, 3, u16LE );
      PrintCountsAndBytes( myChars, 4, 3, u16BE );
      PrintCountsAndBytes( myChars, 4, 3, u32 );
   }

   public static void PrintCountsAndBytes( char[] chars, int index, int count, Encoding enc )  {

      // Display the name of the encoding used.
      Console.Write( "{0,-30} :", enc.ToString() );

      // Display the exact byte count.
      int iBC  = enc.GetByteCount( chars, index, count );
      Console.Write( " {0,-3}", iBC );

      // Display the maximum byte count.
      int iMBC = enc.GetMaxByteCount( count );
      Console.Write( " {0,-3} :", iMBC );

      // Encode the array of chars.
      byte[] bytes = enc.GetBytes( chars, index, count );

      // The following is an alternative way to encode the array of chars:
      // byte[] bytes = new byte[iBC];
      // enc.GetBytes( chars, index, count, bytes, bytes.GetLowerBound(0) );

      // Display all the encoded bytes.
      PrintHexBytes( bytes );
   }

   public static void PrintHexBytes( byte[] bytes )  {

      if (( bytes == null ) || ( bytes.Length == 0 ))
        {
            Console.WriteLine( "<none>" );
        }
        else  {
         for ( int i = 0; i < bytes.Length; i++ )
            Console.Write( "{0:X2} ", bytes[i] );
         Console.WriteLine();
      }
   }
}


/* 
This code produces the following output.

System.Text.UTF7Encoding       : 10  11  :2B 41 37 4C 59 2F 39 7A 2F 2D
System.Text.UTF8Encoding       : 6   12  :CE B2 F1 8F B3 BF
System.Text.UnicodeEncoding    : 6   8   :B2 03 FF D8 FF DC
System.Text.UnicodeEncoding    : 6   8   :03 B2 D8 FF DC FF
System.Text.UTF32Encoding      : 8   16  :B2 03 00 00 FF FC 04 00

*/
Imports System.Text

Public Class SamplesEncoding   

   Public Shared Sub Main()

      ' The characters to encode:
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    a high-surrogate value (U+D8FF)
      '    a low-surrogate value (U+DCFF)
      Dim myChars() As Char = {"z"c, "a"c, ChrW(&H0306), ChrW(&H01FD), ChrW(&H03B2), ChrW(&HD8FF), ChrW(&HDCFF) }

      ' Get different encodings.
      Dim u7 As Encoding = Encoding.UTF7
      Dim u8 As Encoding = Encoding.UTF8
      Dim u16LE As Encoding = Encoding.Unicode
      Dim u16BE As Encoding = Encoding.BigEndianUnicode
      Dim u32 As Encoding = Encoding.UTF32

      ' Encode three characters starting at index 4, and print out the counts and the resulting bytes.
      PrintCountsAndBytes(myChars, 4, 3, u7)
      PrintCountsAndBytes(myChars, 4, 3, u8)
      PrintCountsAndBytes(myChars, 4, 3, u16LE)
      PrintCountsAndBytes(myChars, 4, 3, u16BE)
      PrintCountsAndBytes(myChars, 4, 3, u32)

   End Sub


   Public Shared Sub PrintCountsAndBytes(chars() As Char, index As Integer, count As Integer, enc As Encoding)

      ' Display the name of the encoding used.
      Console.Write("{0,-30} :", enc.ToString())

      ' Display the exact byte count.
      Dim iBC As Integer = enc.GetByteCount(chars, index, count)
      Console.Write(" {0,-3}", iBC)

      ' Display the maximum byte count.
      Dim iMBC As Integer = enc.GetMaxByteCount(count)
      Console.Write(" {0,-3} :", iMBC)

      ' Encode the array of chars.
      Dim bytes As Byte() = enc.GetBytes(chars, index, count)

      ' The following is an alternative way to encode the array of chars:
      ' NOTE: In VB.NET, arrays contain one extra element by default.
      '       The following line creates the array with the exact number of elements required.
      ' Dim bytes(iBC - 1) As Byte
      ' enc.GetBytes( chars, index, count, bytes, bytes.GetLowerBound(0) )

      ' Display all the encoded bytes.
      PrintHexBytes(bytes)

   End Sub


   Public Shared Sub PrintHexBytes(bytes() As Byte)

      If bytes Is Nothing OrElse bytes.Length = 0 Then
         Console.WriteLine("<none>")
      Else
         Dim i As Integer
         For i = 0 To bytes.Length - 1
            Console.Write("{0:X2} ", bytes(i))
         Next i
         Console.WriteLine()
      End If

   End Sub

End Class


'This code produces the following output.
'
'System.Text.UTF7Encoding       : 10  11  :2B 41 37 4C 59 2F 39 7A 2F 2D
'System.Text.UTF8Encoding       : 6   12  :CE B2 F1 8F B3 BF
'System.Text.UnicodeEncoding    : 6   8   :B2 03 FF D8 FF DC
'System.Text.UnicodeEncoding    : 6   8   :03 B2 D8 FF DC FF
'System.Text.UTF32Encoding      : 8   16  :B2 03 00 00 FF FC 04 00

Opmerkingen

Als u de exacte matrixgrootte wilt berekenen die is vereist voor GetBytes het opslaan van de resulterende bytes, roept u de GetByteCount methode aan. Als u de maximale matrixgrootte wilt berekenen, roept u de GetMaxByteCount methode aan. Met de GetByteCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxByteCount methode doorgaans sneller wordt uitgevoerd.

De GetByteCount methode bepaalt hoeveel bytes resulteren in het coderen van een set Unicode-tekens en de GetBytes methode voert de daadwerkelijke codering uit. De GetBytes methode verwacht discrete conversies, in tegenstelling tot de Encoder.GetBytes methode, die meerdere conversies op één invoerstroom verwerkt.

Verschillende versies van GetByteCount en GetBytes worden ondersteund. Hier volgen enkele programmeeroverwegingen voor het gebruik van deze methoden:

  • Uw app moet mogelijk veel invoertekens coderen naar een codepagina en de tekens verwerken met behulp van meerdere aanroepen. In dit geval moet u waarschijnlijk de status tussen aanroepen onderhouden, rekening houdend met de status die wordt behouden door het Encoder object dat wordt gebruikt.

  • Als uw app tekenreeksinvoer verwerkt, wordt de tekenreeksversie aanbevolen GetBytes .

  • Met de Unicode-tekenbufferversie zijn GetBytes(Char*, Int32, Byte*, Int32) enkele snelle technieken mogelijk, met name bij meerdere aanroepen met behulp van het Encoder object of het invoegen in bestaande buffers. Houd er echter rekening mee dat deze methodeversie soms onveilig is, omdat aanwijzers vereist zijn.

  • Als uw app een grote hoeveelheid gegevens moet converteren, moet deze de uitvoerbuffer opnieuw gebruiken. In dit geval is de GetBytes versie die bytematrices ondersteunt de beste keuze.

  • Overweeg om de Encoder.Convert methode te gebruiken in plaats van GetByteCount. De conversiemethode converteert zoveel mogelijk gegevens en genereert een uitzondering als de uitvoerbuffer te klein is. Voor continue codering van een stream is deze methode vaak de beste keuze.

Zie ook

Van toepassing op

GetByteCount(Char*, Int32)

Belangrijk

Deze API is niet CLS-conform.

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door een set tekens te coderen die beginnen bij de opgegeven tekenwijzer.

public:
 virtual int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public virtual int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
public virtual int GetByteCount(char* chars, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
abstract member GetByteCount : nativeptr<char> * int -> int
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetByteCount : nativeptr<char> * int -> int
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetByteCount : nativeptr<char> * int -> int
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
abstract member GetByteCount : nativeptr<char> * int -> int
override this.GetByteCount : nativeptr<char> * int -> int

Parameters

chars
Char*

Een aanwijzer naar het eerste teken om te coderen.

count
Int32

Het aantal tekens dat moet worden gecodeerd.

Retouren

Het aantal bytes dat wordt geproduceerd door de opgegeven tekens te coderen.

Kenmerken

Uitzonderingen

chars is null.

count is kleiner dan nul.

Er is een terugval opgetreden (zie Character Encoding in .NET)

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Opmerkingen

Als u de exacte matrixgrootte wilt berekenen die GetBytes nodig is om de resulterende bytes op te slaan, moet u de GetByteCount methode aanroepen. Als u de maximale matrixgrootte wilt berekenen, roept u de GetMaxByteCount methode aan. Met de GetByteCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxByteCount methode doorgaans sneller wordt uitgevoerd.

De GetByteCount(Char*, Int32) methode bepaalt hoeveel bytes resulteren in het coderen van een set Unicode-tekens en de GetBytes(Char*, Int32, Byte*, Int32) methode voert de daadwerkelijke codering uit. De GetBytes methode verwacht discrete conversies, in tegenstelling tot de Encoder.GetBytes methode, die meerdere conversies op één invoerstroom verwerkt.

Verschillende versies van GetByteCount en GetBytes worden ondersteund. Hier volgen enkele overwegingen voor het gebruik van deze methoden:

  • Uw app moet mogelijk veel invoertekens coderen naar een codepagina en de tekens verwerken met behulp van meerdere aanroepen. In dit geval moet u waarschijnlijk de status tussen aanroepen onderhouden, rekening houdend met de status die wordt behouden door het Encoder object dat wordt gebruikt.

  • Als uw app tekenreeksinvoer verwerkt, moet u de tekenreeksversie van de GetBytes methode gebruiken.

  • Met de Unicode-tekenbufferversie zijn GetBytes enkele snelle technieken mogelijk, met name bij meerdere aanroepen met behulp van het Encoder object of het invoegen in bestaande buffers. Houd er echter rekening mee dat deze methodeversie soms onveilig is, omdat aanwijzers vereist zijn.

  • Als uw app een grote hoeveelheid gegevens moet converteren, moet deze de uitvoerbuffer opnieuw gebruiken. In dit geval is de GetBytes versie die bytematrices ondersteunt de beste keuze.

  • Overweeg om de Encoder.Convert methode te gebruiken in plaats van GetByteCount. De conversiemethode converteert zoveel mogelijk gegevens en genereert een uitzondering als de uitvoerbuffer te klein is. Voor continue codering van een stream is deze methode vaak de beste keuze.

Zie ook

Van toepassing op

GetByteCount(String)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door de tekens in de opgegeven tekenreeks te coderen.

public:
 virtual int GetByteCount(System::String ^ s);
public virtual int GetByteCount(string s);
abstract member GetByteCount : string -> int
override this.GetByteCount : string -> int
Public Overridable Function GetByteCount (s As String) As Integer

Parameters

s
String

De tekenreeks die de set tekens bevat die moeten worden gecodeerd.

Retouren

Het aantal bytes dat wordt geproduceerd door de opgegeven tekens te coderen.

Uitzonderingen

Er is een terugval opgetreden (zie Character Encoding in .NET)

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Voorbeelden

In het volgende voorbeeld wordt het aantal bytes bepaald dat nodig is om een tekenreeks of een bereik in de tekenreeks te coderen, de tekens te coderen en de resulterende bytes weer te geven.

using System;
using System.Text;

public class SamplesEncoding  {

   public static void Main()  {

      // The characters to encode:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    a low-surrogate value (U+DCFF)
      String myStr = "za\u0306\u01FD\u03B2\uD8FF\uDCFF";

      // Get different encodings.
      Encoding  u7    = Encoding.UTF7;
      Encoding  u8    = Encoding.UTF8;
      Encoding  u16LE = Encoding.Unicode;
      Encoding  u16BE = Encoding.BigEndianUnicode;
      Encoding  u32   = Encoding.UTF32;

      // Encode the entire string, and print out the counts and the resulting bytes.
      Console.WriteLine( "Encoding the entire string:" );
      PrintCountsAndBytes( myStr, u7 );
      PrintCountsAndBytes( myStr, u8 );
      PrintCountsAndBytes( myStr, u16LE );
      PrintCountsAndBytes( myStr, u16BE );
      PrintCountsAndBytes( myStr, u32 );

      Console.WriteLine();

      // Encode three characters starting at index 4, and print out the counts and the resulting bytes.
      Console.WriteLine( "Encoding the characters from index 4 through 6:" );
      PrintCountsAndBytes( myStr, 4, 3, u7 );
      PrintCountsAndBytes( myStr, 4, 3, u8 );
      PrintCountsAndBytes( myStr, 4, 3, u16LE );
      PrintCountsAndBytes( myStr, 4, 3, u16BE );
      PrintCountsAndBytes( myStr, 4, 3, u32 );
   }

   public static void PrintCountsAndBytes( String s, Encoding enc )  {

      // Display the name of the encoding used.
      Console.Write( "{0,-30} :", enc.ToString() );

      // Display the exact byte count.
      int iBC  = enc.GetByteCount( s );
      Console.Write( " {0,-3}", iBC );

      // Display the maximum byte count.
      int iMBC = enc.GetMaxByteCount( s.Length );
      Console.Write( " {0,-3} :", iMBC );

      // Encode the entire string.
      byte[] bytes = enc.GetBytes( s );

      // Display all the encoded bytes.
      PrintHexBytes( bytes );
   }

   public static void PrintCountsAndBytes( String s, int index, int count, Encoding enc )  {

      // Display the name of the encoding used.
      Console.Write( "{0,-30} :", enc.ToString() );

      // Display the exact byte count.
      int iBC  = enc.GetByteCount( s.ToCharArray(), index, count );
      Console.Write( " {0,-3}", iBC );

      // Display the maximum byte count.
      int iMBC = enc.GetMaxByteCount( count );
      Console.Write( " {0,-3} :", iMBC );

      // Encode a range of characters in the string.
      byte[] bytes = new byte[iBC];
      enc.GetBytes( s, index, count, bytes, bytes.GetLowerBound(0) );

      // Display all the encoded bytes.
      PrintHexBytes( bytes );
   }

   public static void PrintHexBytes( byte[] bytes )  {

      if (( bytes == null ) || ( bytes.Length == 0 ))
        {
            Console.WriteLine( "<none>" );
        }
        else  {
         for ( int i = 0; i < bytes.Length; i++ )
            Console.Write( "{0:X2} ", bytes[i] );
         Console.WriteLine();
      }
   }
}


/* 
This code produces the following output.

Encoding the entire string:
System.Text.UTF7Encoding       : 18  23  :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D
System.Text.UTF8Encoding       : 12  24  :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF
System.Text.UnicodeEncoding    : 14  16  :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC
System.Text.UnicodeEncoding    : 14  16  :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF
System.Text.UTF32Encoding      : 24  32  :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00

Encoding the characters from index 4 through 6:
System.Text.UTF7Encoding       : 10  11  :2B 41 37 4C 59 2F 39 7A 2F 2D
System.Text.UTF8Encoding       : 6   12  :CE B2 F1 8F B3 BF
System.Text.UnicodeEncoding    : 6   8   :B2 03 FF D8 FF DC
System.Text.UnicodeEncoding    : 6   8   :03 B2 D8 FF DC FF
System.Text.UTF32Encoding      : 8   16  :B2 03 00 00 FF FC 04 00

*/
Imports System.Text

Public Class SamplesEncoding   

   Public Shared Sub Main()

      ' The characters to encode:
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    a high-surrogate value (U+D8FF)
      '    a low-surrogate value (U+DCFF)
      Dim myStr As String = "za" & ChrW(&H0306) & ChrW(&H01FD) & ChrW(&H03B2) & ChrW(&HD8FF) & ChrW(&HDCFF)

      ' Get different encodings.
      Dim u7 As Encoding = Encoding.UTF7
      Dim u8 As Encoding = Encoding.UTF8
      Dim u16LE As Encoding = Encoding.Unicode
      Dim u16BE As Encoding = Encoding.BigEndianUnicode
      Dim u32 As Encoding = Encoding.UTF32

      ' Encode the entire string, and print out the counts and the resulting bytes.
      Console.WriteLine("Encoding the entire string:")
      PrintCountsAndBytes(myStr, u7)
      PrintCountsAndBytes(myStr, u8)
      PrintCountsAndBytes(myStr, u16LE)
      PrintCountsAndBytes(myStr, u16BE)
      PrintCountsAndBytes(myStr, u32)

      Console.WriteLine()

      ' Encode three characters starting at index 4, and print out the counts and the resulting bytes.
      Console.WriteLine("Encoding the characters from index 4 through 6:")
      PrintCountsAndBytes(myStr, 4, 3, u7)
      PrintCountsAndBytes(myStr, 4, 3, u8)
      PrintCountsAndBytes(myStr, 4, 3, u16LE)
      PrintCountsAndBytes(myStr, 4, 3, u16BE)
      PrintCountsAndBytes(myStr, 4, 3, u32)

   End Sub


   Overloads Public Shared Sub PrintCountsAndBytes(s As String, enc As Encoding)

      ' Display the name of the encoding used.
      Console.Write("{0,-30} :", enc.ToString())

      ' Display the exact byte count.
      Dim iBC As Integer = enc.GetByteCount(s)
      Console.Write(" {0,-3}", iBC)

      ' Display the maximum byte count.
      Dim iMBC As Integer = enc.GetMaxByteCount(s.Length)
      Console.Write(" {0,-3} :", iMBC)

      ' Encode the entire string.
      Dim bytes As Byte() = enc.GetBytes(s)

      ' Display all the encoded bytes.
      PrintHexBytes(bytes)

   End Sub


   Overloads Public Shared Sub PrintCountsAndBytes(s As String, index As Integer, count As Integer, enc As Encoding)

      ' Display the name of the encoding used.
      Console.Write("{0,-30} :", enc.ToString())

      ' Display the exact byte count.
      Dim iBC As Integer = enc.GetByteCount(s.ToCharArray(), index, count)
      Console.Write(" {0,-3}", iBC)

      ' Display the maximum byte count.
      Dim iMBC As Integer = enc.GetMaxByteCount(count)
      Console.Write(" {0,-3} :", iMBC)

      ' Encode a range of characters in the string.
      ' NOTE: In VB.NET, arrays contain one extra element by default.
      '       The following line creates the array with the exact number of elements required.
      Dim bytes(iBC - 1) As Byte
      enc.GetBytes(s, index, count, bytes, bytes.GetLowerBound(0))

      ' Display all the encoded bytes.
      PrintHexBytes(bytes)

   End Sub


   Public Shared Sub PrintHexBytes(bytes() As Byte)

      If bytes Is Nothing OrElse bytes.Length = 0 Then
         Console.WriteLine("<none>")
      Else
         Dim i As Integer
         For i = 0 To bytes.Length - 1
            Console.Write("{0:X2} ", bytes(i))
         Next i
         Console.WriteLine()
      End If

   End Sub

End Class


'This code produces the following output.
'
'Encoding the entire string:
'System.Text.UTF7Encoding       : 18  23  :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D
'System.Text.UTF8Encoding       : 12  24  :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF
'System.Text.UnicodeEncoding    : 14  16  :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC
'System.Text.UnicodeEncoding    : 14  16  :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF
'System.Text.UTF32Encoding      : 24  32  :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00
'
'Encoding the characters from index 4 through 6:
'System.Text.UTF7Encoding       : 10  11  :2B 41 37 4C 59 2F 39 7A 2F 2D
'System.Text.UTF8Encoding       : 6   12  :CE B2 F1 8F B3 BF
'System.Text.UnicodeEncoding    : 6   8   :B2 03 FF D8 FF DC
'System.Text.UnicodeEncoding    : 6   8   :03 B2 D8 FF DC FF
'System.Text.UTF32Encoding      : 8   16  :B2 03 00 00 FF FC 04 00

Opmerkingen

Als u de exacte matrixgrootte wilt berekenen die is vereist voor GetBytes het opslaan van de resulterende bytes, roept u de GetByteCount methode aan. Als u de maximale matrixgrootte wilt berekenen, roept u de GetMaxByteCount methode aan. Met de GetByteCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxByteCount methode doorgaans sneller wordt uitgevoerd.

De GetByteCount methode bepaalt hoeveel bytes resulteren in het coderen van een set Unicode-tekens en de GetBytes methode voert de daadwerkelijke codering uit. De GetBytes methode verwacht discrete conversies, in tegenstelling tot de Encoder.GetBytes methode, die meerdere conversies op één invoerstroom verwerkt.

Verschillende versies van GetByteCount en GetBytes worden ondersteund. Hier volgen enkele programmeeroverwegingen voor het gebruik van deze methoden:

  • Uw app moet mogelijk veel invoertekens coderen naar een codepagina en de tekens verwerken met behulp van meerdere aanroepen. In dit geval moet u waarschijnlijk de status tussen aanroepen onderhouden, rekening houdend met de status die wordt behouden door het Encoder object dat wordt gebruikt.

  • Als uw app tekenreeksinvoer verwerkt, wordt de tekenreeksversie aanbevolen GetBytes .

  • Met de Unicode-tekenbufferversie zijn GetBytes(Char*, Int32, Byte*, Int32) enkele snelle technieken mogelijk, met name bij meerdere aanroepen met behulp van het Encoder object of het invoegen in bestaande buffers. Houd er echter rekening mee dat deze methodeversie soms onveilig is, omdat aanwijzers vereist zijn.

  • Als uw app een grote hoeveelheid gegevens moet converteren, moet deze de uitvoerbuffer opnieuw gebruiken. In dit geval is de GetBytes versie die bytematrices ondersteunt de beste keuze.

  • Overweeg om de Encoder.Convert methode te gebruiken in plaats van GetByteCount. De conversiemethode converteert zoveel mogelijk gegevens en genereert een uitzondering als de uitvoerbuffer te klein is. Voor continue codering van een stream is deze methode vaak de beste keuze.

Zie ook

Van toepassing op

GetByteCount(ReadOnlySpan<Char>)

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door de tekens in het opgegeven tekenbereik te coderen.

public:
 virtual int GetByteCount(ReadOnlySpan<char> chars);
public virtual int GetByteCount(ReadOnlySpan<char> chars);
abstract member GetByteCount : ReadOnlySpan<char> -> int
override this.GetByteCount : ReadOnlySpan<char> -> int
Public Overridable Function GetByteCount (chars As ReadOnlySpan(Of Char)) As Integer

Parameters

chars
ReadOnlySpan<Char>

De reeks tekens die moeten worden gecodeerd.

Retouren

Het aantal bytes dat wordt geproduceerd door het opgegeven tekenbereik te coderen.

Opmerkingen

Als u de exacte spangrootte wilt berekenen die nodig is om GetBytes de resulterende bytes op te slaan, roept u de GetByteCount methode aan. Als u de maximale spangrootte wilt berekenen, roept u de GetMaxByteCount methode aan. Met de GetByteCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxByteCount methode doorgaans sneller wordt uitgevoerd.

De GetByteCount methode bepaalt hoeveel bytes resulteren in het coderen van een set Unicode-tekens en de GetBytes methode voert de daadwerkelijke codering uit. De GetBytes methode verwacht discrete conversies, in tegenstelling tot de Encoder.GetBytes methode, die meerdere conversies op één invoerstroom verwerkt.

Verschillende versies van GetByteCount en GetBytes worden ondersteund. Hier volgen enkele programmeeroverwegingen voor het gebruik van deze methoden:

  • Uw app moet mogelijk veel invoertekens coderen naar een codepagina en de tekens verwerken met behulp van meerdere aanroepen. In dit geval moet u waarschijnlijk de status tussen aanroepen onderhouden, rekening houdend met de status die wordt behouden door het Encoder object dat wordt gebruikt.

  • Als uw app de invoer van tekens verwerkt, wordt de spanversie van GetBytes aanbevolen.

  • Overweeg om de Encoder.Convert methode te gebruiken in plaats van GetByteCount. De conversiemethode converteert zoveel mogelijk gegevens en genereert een uitzondering als de buffer voor het uitvoerbereik te klein is. Voor continue codering van een stream is deze methode vaak de beste keuze.

Van toepassing op

GetByteCount(Char[])

Wanneer deze wordt overschreven in een afgeleide klasse, berekent u het aantal bytes dat wordt geproduceerd door alle tekens in de opgegeven tekenmatrix te coderen.

public:
 virtual int GetByteCount(cli::array <char> ^ chars);
public virtual int GetByteCount(char[] chars);
abstract member GetByteCount : char[] -> int
override this.GetByteCount : char[] -> int
Public Overridable Function GetByteCount (chars As Char()) As Integer

Parameters

chars
Char[]

De tekenmatrix die de tekens bevat die moeten worden gecodeerd.

Retouren

Het aantal bytes dat wordt geproduceerd door alle tekens in de opgegeven tekenmatrix te coderen.

Uitzonderingen

chars is null.

Er is een terugval opgetreden (zie Character Encoding in .NET)

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Voorbeelden

In het volgende voorbeeld wordt het aantal bytes bepaald dat is vereist om een tekenmatrix te coderen, de tekens te coderen en de resulterende bytes weer te geven.

using System;
using System.Text;

public class SamplesEncoding  {

   public static void Main()  {

      // The characters to encode:
      //    Latin Small Letter Z (U+007A)
      //    Latin Small Letter A (U+0061)
      //    Combining Breve (U+0306)
      //    Latin Small Letter AE With Acute (U+01FD)
      //    Greek Small Letter Beta (U+03B2)
      //    a high-surrogate value (U+D8FF)
      //    a low-surrogate value (U+DCFF)
      char[] myChars = new char[] { 'z', 'a', '\u0306', '\u01FD', '\u03B2', '\uD8FF', '\uDCFF' };

      // Get different encodings.
      Encoding  u7    = Encoding.UTF7;
      Encoding  u8    = Encoding.UTF8;
      Encoding  u16LE = Encoding.Unicode;
      Encoding  u16BE = Encoding.BigEndianUnicode;
      Encoding  u32   = Encoding.UTF32;

      // Encode the entire array, and print out the counts and the resulting bytes.
      PrintCountsAndBytes( myChars, u7 );
      PrintCountsAndBytes( myChars, u8 );
      PrintCountsAndBytes( myChars, u16LE );
      PrintCountsAndBytes( myChars, u16BE );
      PrintCountsAndBytes( myChars, u32 );
   }

   public static void PrintCountsAndBytes( char[] chars, Encoding enc )  {

      // Display the name of the encoding used.
      Console.Write( "{0,-30} :", enc.ToString() );

      // Display the exact byte count.
      int iBC  = enc.GetByteCount( chars );
      Console.Write( " {0,-3}", iBC );

      // Display the maximum byte count.
      int iMBC = enc.GetMaxByteCount( chars.Length );
      Console.Write( " {0,-3} :", iMBC );

      // Encode the array of chars.
      byte[] bytes = enc.GetBytes( chars );

      // Display all the encoded bytes.
      PrintHexBytes( bytes );
   }

   public static void PrintHexBytes( byte[] bytes )  {

      if (( bytes == null ) || ( bytes.Length == 0 ))
        {
            Console.WriteLine( "<none>" );
        }
        else  {
         for ( int i = 0; i < bytes.Length; i++ )
            Console.Write( "{0:X2} ", bytes[i] );
         Console.WriteLine();
      }
   }
}


/* 
This code produces the following output.

System.Text.UTF7Encoding       : 18  23  :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D
System.Text.UTF8Encoding       : 12  24  :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF
System.Text.UnicodeEncoding    : 14  16  :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC
System.Text.UnicodeEncoding    : 14  16  :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF
System.Text.UTF32Encoding      : 24  32  :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00

*/
Imports System.Text

Public Class SamplesEncoding   

   Public Shared Sub Main()

      ' The characters to encode:
      '    Latin Small Letter Z (U+007A)
      '    Latin Small Letter A (U+0061)
      '    Combining Breve (U+0306)
      '    Latin Small Letter AE With Acute (U+01FD)
      '    Greek Small Letter Beta (U+03B2)
      '    a high-surrogate value (U+D8FF)
      '    a low-surrogate value (U+DCFF)
      Dim myChars() As Char = {"z"c, "a"c, ChrW(&H0306), ChrW(&H01FD), ChrW(&H03B2), ChrW(&HD8FF), ChrW(&HDCFF)}
 

      ' Get different encodings.
      Dim u7 As Encoding = Encoding.UTF7
      Dim u8 As Encoding = Encoding.UTF8
      Dim u16LE As Encoding = Encoding.Unicode
      Dim u16BE As Encoding = Encoding.BigEndianUnicode
      Dim u32 As Encoding = Encoding.UTF32

      ' Encode the entire array, and print out the counts and the resulting bytes.
      PrintCountsAndBytes(myChars, u7)
      PrintCountsAndBytes(myChars, u8)
      PrintCountsAndBytes(myChars, u16LE)
      PrintCountsAndBytes(myChars, u16BE)
      PrintCountsAndBytes(myChars, u32)

   End Sub


   Public Shared Sub PrintCountsAndBytes(chars() As Char, enc As Encoding)

      ' Display the name of the encoding used.
      Console.Write("{0,-30} :", enc.ToString())

      ' Display the exact byte count.
      Dim iBC As Integer = enc.GetByteCount(chars)
      Console.Write(" {0,-3}", iBC)

      ' Display the maximum byte count.
      Dim iMBC As Integer = enc.GetMaxByteCount(chars.Length)
      Console.Write(" {0,-3} :", iMBC)

      ' Encode the array of chars.
      Dim bytes As Byte() = enc.GetBytes(chars)

      ' Display all the encoded bytes.
      PrintHexBytes(bytes)

   End Sub


   Public Shared Sub PrintHexBytes(bytes() As Byte)

      If bytes Is Nothing OrElse bytes.Length = 0 Then
         Console.WriteLine("<none>")
      Else
         Dim i As Integer
         For i = 0 To bytes.Length - 1
            Console.Write("{0:X2} ", bytes(i))
         Next i
         Console.WriteLine()
      End If

   End Sub

End Class


'This code produces the following output.
'
'System.Text.UTF7Encoding       : 18  23  :7A 61 2B 41 77 59 42 2F 51 4F 79 32 50 2F 63 2F 77 2D
'System.Text.UTF8Encoding       : 12  24  :7A 61 CC 86 C7 BD CE B2 F1 8F B3 BF
'System.Text.UnicodeEncoding    : 14  16  :7A 00 61 00 06 03 FD 01 B2 03 FF D8 FF DC
'System.Text.UnicodeEncoding    : 14  16  :00 7A 00 61 03 06 01 FD 03 B2 D8 FF DC FF
'System.Text.UTF32Encoding      : 24  32  :7A 00 00 00 61 00 00 00 06 03 00 00 FD 01 00 00 B2 03 00 00 FF FC 04 00

Opmerkingen

Als u de exacte matrixgrootte wilt berekenen die is vereist voor GetBytes het opslaan van de resulterende bytes, roept u de GetByteCount methode aan. Als u de maximale matrixgrootte wilt berekenen, roept u de GetMaxByteCount methode aan. Met de GetByteCount methode kan over het algemeen minder geheugen worden toegewezen, terwijl de GetMaxByteCount methode doorgaans sneller wordt uitgevoerd.

De GetByteCount methode bepaalt hoeveel bytes resulteren in het coderen van een set Unicode-tekens en de GetBytes methode voert de daadwerkelijke codering uit. De GetBytes methode verwacht discrete conversies, in tegenstelling tot de Encoder.GetBytes methode, die meerdere conversies op één invoerstroom verwerkt.

Verschillende versies van GetByteCount en GetBytes worden ondersteund. Hier volgen enkele programmeeroverwegingen voor het gebruik van deze methoden:

  • Uw app moet mogelijk veel invoertekens coderen naar een codepagina en de tekens verwerken met behulp van meerdere aanroepen. In dit geval moet u waarschijnlijk de status tussen aanroepen onderhouden, rekening houdend met de status die wordt behouden door het Encoder object dat wordt gebruikt.

  • Als uw app tekenreeksinvoer verwerkt, moet u de tekenreeksversies van de GetBytes methode gebruiken.

  • Met de Unicode-tekenbufferversie zijn GetBytes(Char*, Int32, Byte*, Int32) enkele snelle technieken mogelijk, met name bij meerdere aanroepen met behulp van het Encoder object of het invoegen in bestaande buffers. Houd er echter rekening mee dat deze methodeversie soms onveilig is, omdat aanwijzers vereist zijn.

  • Als uw app een grote hoeveelheid gegevens moet converteren, moet u de uitvoerbuffer opnieuw gebruiken. In dit geval is de GetBytes versie die bytematrices ondersteunt de beste keuze.

  • Overweeg om de Encoder.Convert methode te gebruiken in plaats van GetByteCount. De conversiemethode converteert zoveel mogelijk gegevens en genereert een uitzondering als de uitvoerbuffer te klein is. Voor continue codering van een stream is deze methode vaak de beste keuze.

Zie ook

Van toepassing op