ASCIIEncoding.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 de opgegeven Stringcode 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 de opgegeven Stringcode te coderen.
public:
override int GetByteCount(System::String ^ chars);
public override int GetByteCount(string chars);
override this.GetByteCount : string -> int
Public Overrides Function GetByteCount (chars As String) As Integer
Parameters
Retouren
Het aantal bytes dat wordt geproduceerd door de opgegeven tekens te coderen.
Uitzonderingen
chars is null.
Het resulterende aantal bytes is groter dan het maximumaantal dat als geheel getal kan worden geretourneerd.
Er is een terugval opgetreden (zie Character Encoding in .NET)
en
EncoderFallback is ingesteld op EncoderExceptionFallback.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de GetByteCount methode gebruikt om het aantal bytes te retourneren dat is vereist voor het coderen van een tekenreeks met behulp van ASCIIEncoding.
using System;
using System.Text;
class ASCIIEncodingExample {
public static void Main() {
String chars = "ASCII Encoding Example";
ASCIIEncoding ascii = new ASCIIEncoding();
int byteCount = ascii.GetByteCount(chars);
Console.WriteLine(
"{0} bytes needed to encode string.", byteCount
);
}
}
Imports System.Text
Class ASCIIEncodingExample
Public Shared Sub Main()
Dim chars As String = "ASCII Encoding Example"
Dim ascii As New ASCIIEncoding()
Dim byteCount As Integer = ascii.GetByteCount(chars)
Console.WriteLine("{0} bytes needed to encode string.", 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
- GetBytes(String, Int32, Int32, Byte[], Int32)
- GetMaxByteCount(Int32)
- GetEncoder()
- Informatie over coderingen
Van toepassing op
GetByteCount(Char*, Int32)
Belangrijk
Deze API is niet CLS-conform.
- CLS-conform alternatief
- System.Text.ASCIIEncoding.GetByteCount(Char[], Int32, Int32)
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.
count is kleiner dan nul.
– of –
Het resulterende aantal bytes is groter dan het maximumaantal dat als geheel getal 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 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
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.
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 geheel getal kan worden geretourneerd.
Er is een terugval opgetreden (zie Character Encoding in .NET)
en
EncoderFallback is ingesteld op EncoderExceptionFallback.
Voorbeelden
In het volgende voorbeeld ziet u hoe u de GetByteCount methode gebruikt om het aantal bytes te retourneren dat is vereist voor het coderen van een matrix met Unicode-tekens met behulp ASCIIEncodingvan .
using System;
using System.Text;
class ASCIIEncodingExample {
public static void Main() {
// Unicode characters.
Char[] chars = new Char[] {
'\u0023', // #
'\u0025', // %
'\u03a0', // Pi
'\u03a3' // Sigma
};
ASCIIEncoding ascii = new ASCIIEncoding();
int byteCount = ascii.GetByteCount(chars, 1, 2);
Console.WriteLine(
"{0} bytes needed to encode characters.", byteCount
);
}
}
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class ASCIIEncodingExample
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 ascii As New ASCIIEncoding()
Dim byteCount As Integer = ascii.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.