UTF7Encoding.GetByteCount Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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.