Encoder.GetByteCount Metódus
Definíció
Fontos
Egyes információk olyan, kiadás előtti termékekre vonatkoznak, amelyek a kiadásig még jelentősen módosulhatnak. A Microsoft nem vállal kifejezett vagy törvényi garanciát az itt megjelenő információért.
Származtatott osztályban felülbírálva kiszámítja a karakterkészlet kódolásával előállított bájtok számát.
Túlterhelések
| Name | Description |
|---|---|
| GetByteCount(ReadOnlySpan<Char>, Boolean) |
Származtatott osztályban felülbírálva kiszámítja a karakterkészlet karakterkészletének kódolásával előállított bájtok számát. A paraméter azt jelzi, hogy a számítás után törölje-e a kódoló belső állapotát. |
| GetByteCount(Char*, Int32, Boolean) |
Származtatott osztályban felülbírálva kiszámítja a megadott karaktermutatótól kezdődő karakterkészlet kódolásával előállított bájtok számát. A paraméter azt jelzi, hogy a számítás után törölje-e a kódoló belső állapotát. |
| GetByteCount(Char[], Int32, Int32, Boolean) |
Származtatott osztályban felülbírálva kiszámítja a megadott karaktertömbből származó karakterkészlet kódolásával előállított bájtok számát. A paraméter azt jelzi, hogy a számítás után törölje-e a kódoló belső állapotát. |
Megjegyzések
Ez a módszer nem befolyásolja a kódoló állapotát.
Az eredményként kapott bájtok tárolásához szükséges pontos tömbméret GetBytes kiszámításához az alkalmazásnak a következőt kell használnia GetByteCount: .
Ha GetBytes a rendszer a következőre flushvan állítvafalse, a kódoló egy belső pufferben tárolja az adatblokk végén lévő záró karaktereket, és a következő kódolási műveletben használja őket. Az alkalmazásnak közvetlenül az ugyanazon blokk meghívása GetByteCount előtt meg kell hívnia GetBytes egy adatblokkot, hogy az előző blokk összes záró karaktere szerepeljen a számításban.
GetByteCount(ReadOnlySpan<Char>, Boolean)
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
Származtatott osztályban felülbírálva kiszámítja a karakterkészlet karakterkészletének kódolásával előállított bájtok számát. A paraméter azt jelzi, hogy a számítás után törölje-e a kódoló belső állapotát.
public:
virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
public virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
abstract member GetByteCount : ReadOnlySpan<char> * bool -> int
override this.GetByteCount : ReadOnlySpan<char> * bool -> int
Public Overridable Function GetByteCount (chars As ReadOnlySpan(Of Char), flush As Boolean) As Integer
Paraméterek
- chars
- ReadOnlySpan<Char>
Kódolandó karakterfedés.
- flush
- Boolean
truea kódoló belső állapotának a számítás utáni törlését szimulálja; egyéb esetben. false
Válaszok
A megadott karakterek és a belső pufferben lévő karakterek kódolásával előállított bájtok száma.
A következőre érvényes:
GetByteCount(Char*, Int32, Boolean)
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
Fontos
Ez az API nem CLS-kompatibilis.
Származtatott osztályban felülbírálva kiszámítja a megadott karaktermutatótól kezdődő karakterkészlet kódolásával előállított bájtok számát. A paraméter azt jelzi, hogy a számítás után törölje-e a kódoló belső állapotát.
public:
virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetByteCount(char* chars, int count, bool flush);
[<System.CLSCompliant(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
Paraméterek
- chars
- Char*
A kódolni kívánt első karakterre mutató mutató.
- count
- Int32
A kódolandó karakterek száma.
- flush
- Boolean
truea kódoló belső állapotának a számítás utáni törlését szimulálja; egyéb esetben. false
Válaszok
A megadott karakterek és a belső pufferben lévő karakterek kódolásával előállított bájtok száma.
- Attribútumok
Kivételek
chars
null (Nothing Visual Basic .NET).
count kisebb, mint nulla.
Hiba történt (további információ:
-és-
Fallback EncoderExceptionFallbackértékre van állítva.
Lásd még
A következőre érvényes:
GetByteCount(Char[], Int32, Int32, Boolean)
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
- Forrás:
- Encoder.cs
Származtatott osztályban felülbírálva kiszámítja a megadott karaktertömbből származó karakterkészlet kódolásával előállított bájtok számát. A paraméter azt jelzi, hogy a számítás után törölje-e a kódoló belső állapotát.
public:
abstract int GetByteCount(cli::array <char> ^ chars, int index, int count, bool flush);
public abstract int GetByteCount(char[] chars, int index, int count, bool flush);
abstract member GetByteCount : char[] * int * int * bool -> int
Public MustOverride Function GetByteCount (chars As Char(), index As Integer, count As Integer, flush As Boolean) As Integer
Paraméterek
- chars
- Char[]
A kódolandó karaktereket tartalmazó karaktertömb.
- index
- Int32
Az első kódolandó karakter indexe.
- count
- Int32
A kódolandó karakterek száma.
- flush
- Boolean
truea kódoló belső állapotának a számítás utáni törlését szimulálja; egyéb esetben. false
Válaszok
A megadott karakterek és a belső pufferben lévő karakterek kódolásával előállított bájtok száma.
Kivételek
chars az null.
index vagy count kisebb, mint nulla.
-vagy-
index és count ne jelölje az érvényes tartományt a következőben chars: .
Hiba történt (további információ:
-és-
Fallback EncoderExceptionFallbackértékre van állítva.
Példák
Az alábbi példakód bemutatja, hogyan használható a metódus arra GetByteCount , hogy visszaadja a karaktertömb Unicode Encoderhasználatával történő kódolásához szükséges bájtok számát.
using System;
using System.Text;
class EncoderExample {
public static void Main() {
// Unicode characters.
Char[] chars = new Char[] {
'\u0023', // #
'\u0025', // %
'\u03a0', // Pi
'\u03a3' // Sigma
};
Encoder uniEncoder = Encoding.Unicode.GetEncoder();
int byteCount = uniEncoder.GetByteCount(chars, 0, chars.Length, true);
Console.WriteLine(
"{0} bytes needed to encode characters.", byteCount
);
}
}
/* This example produces the following output.
8 bytes needed to encode characters.
*/
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class EncoderExample
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 uniEncoder As Encoder = Encoding.Unicode.GetEncoder()
Dim byteCount As Integer = _
uniEncoder.GetByteCount(chars, 0, chars.Length, True)
Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
End Sub
End Class
'
'This example produces the following output.
'
'8 bytes needed to encode characters.
'