UTF7Encoding.GetByteCount Methode

Definitie

Berekent het aantal bytes dat wordt geproduceerd door een set tekens te coderen.

Overloads

Name Description
GetByteCount(String)

Berekent het aantal bytes dat wordt geproduceerd door de tekens in het opgegeven String object te coderen.

GetByteCount(Char*, Int32)

Berekent het aantal bytes dat wordt geproduceerd door een set tekens te coderen die beginnen bij de opgegeven tekenwijzer.

GetByteCount(Char[], Int32, Int32)

Berekent het aantal bytes dat wordt geproduceerd door een set tekens van de opgegeven tekenmatrix te coderen.

GetByteCount(String)

Berekent het aantal bytes dat wordt geproduceerd door de tekens in het opgegeven String object te coderen.

public:
 override int GetByteCount(System::String ^ s);
public override int GetByteCount(string s);
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount(string s);
override this.GetByteCount : string -> int
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : string -> int
Public Overrides Function GetByteCount (s As String) As Integer

Parameters

s
String

Het String object met de set tekens die moeten worden gecodeerd.

Retouren

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

Kenmerken

Uitzonderingen

s is null (Nothing).

Het resulterende aantal bytes is groter dan het maximumaantal dat als een int kan worden geretourneerd.

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

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de GetByteCount methode gebruikt om het aantal bytes te retourneren dat is vereist voor het coderen van een tekenmatrix.

using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        UTF7Encoding utf7 = new UTF7Encoding();
        int byteCount = utf7.GetByteCount(chars, 1, 2);
        Console.WriteLine(
            "{0} bytes needed to encode characters.", byteCount
        );
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Unicode characters.
        ' ChrW(35)  = #
        ' ChrW(37)  = %
        ' ChrW(928) = Pi
        ' ChrW(931) = Sigma
        Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
        
        Dim utf7 As New UTF7Encoding()
        Dim byteCount As Integer = utf7.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Opmerkingen

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

Zie ook

Van toepassing op

GetByteCount(Char*, Int32)

Belangrijk

Deze API is niet CLS-conform.

Berekent het aantal bytes dat wordt geproduceerd door een set tekens te coderen die beginnen bij de opgegeven tekenwijzer.

public:
 override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetByteCount(char* chars, int count);
[System.CLSCompliant(false)]
public override int GetByteCount(char* chars, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetByteCount : nativeptr<char> * int -> int
[<System.CLSCompliant(false)>]
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 (Nothing in Visual Basic .NET).

count is kleiner dan nul.

– of –

Het resulterende aantal bytes is groter dan het maximumaantal dat als een int kan worden geretourneerd.

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

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Opmerkingen

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

Zie ook

Van toepassing op

GetByteCount(Char[], Int32, Int32)

Berekent het aantal bytes dat wordt geproduceerd door een set tekens van de opgegeven tekenmatrix te coderen.

public:
 override int GetByteCount(cli::array <char> ^ chars, int index, int count);
public override int GetByteCount(char[] chars, int index, int count);
override this.GetByteCount : char[] * int * int -> int
Public Overrides 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 (Nothing).

index of count kleiner is dan nul.

– of –

index en count geef geen geldig bereik aan in chars.

– of –

Het resulterende aantal bytes is groter dan het maximumaantal dat als een int kan worden geretourneerd.

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

en

EncoderFallback is ingesteld op EncoderExceptionFallback.

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de GetByteCount methode gebruikt om het aantal vereiste bytes te retourneren voor het coderen van een matrix met Unicode-tekens.

using System;
using System.Text;

class UTF7EncodingExample {
    public static void Main() {
        // Unicode characters.
        Char[] chars = new Char[] {
            '\u0023', // #
            '\u0025', // %
            '\u03a0', // Pi
            '\u03a3'  // Sigma
        };

        UTF7Encoding utf7 = new UTF7Encoding();
        int byteCount = utf7.GetByteCount(chars, 1, 2);
        Console.WriteLine(
            "{0} bytes needed to encode characters.", byteCount
        );
    }
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings

Class UTF7EncodingExample
    
    Public Shared Sub Main()
        ' Unicode characters.
        ' ChrW(35)  = #
        ' ChrW(37)  = %
        ' ChrW(928) = Pi
        ' ChrW(931) = Sigma
        Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
        
        Dim utf7 As New UTF7Encoding()
        Dim byteCount As Integer = utf7.GetByteCount(chars, 1, 2)
        Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
    End Sub
End Class

Opmerkingen

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

Zie ook

Van toepassing op