UTF8Encoding.GetCharCount Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů.
Přetížení
| Name | Description |
|---|---|
| GetCharCount(Byte[], Int32, Int32) |
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného bajtového pole. |
| GetCharCount(Byte*, Int32) |
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným ukazatelem bajtu. |
| GetCharCount(ReadOnlySpan<Byte>) |
Vypočítá počet znaků vytvořených dekódováním zadaného rozsahu bajtů. |
GetCharCount(Byte[], Int32, Int32)
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného bajtového pole.
public:
override int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public override int GetCharCount(byte[] bytes, int index, int count);
override this.GetCharCount : byte[] * int * int -> int
Public Overrides Function GetCharCount (bytes As Byte(), index As Integer, count As Integer) As Integer
Parametry
- bytes
- Byte[]
Bajtové pole obsahující posloupnost bajtů k dekódování.
- index
- Int32
Index prvního bajtu pro dekódování.
- count
- Int32
Počet bajtů, které se mají dekódovat.
Návraty
Počet znaků vytvořených dekódováním zadané sekvence bajtů.
Výjimky
bytes je null.
index nebo count je menší než nula.
nebo
index a count neoznamujte platný rozsah v bytes.
nebo
Výsledný počet bajtů je větší než maximální počet, který lze vrátit jako celé číslo.
Je povoleno zjišťování chyb a bytes obsahuje neplatnou posloupnost bajtů.
Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).
a
DecoderFallback je nastaveno na DecoderExceptionFallback.
Příklady
Následující příklad používá metodu GetCharCount k vrácení počtu znaků vytvořených dekódováním rozsahu prvků v bajtovém poli.
using System;
using System.Text;
class UTF8EncodingExample {
public static void Main() {
Byte[] bytes = new Byte[] {
85, 84, 70, 56, 32, 69, 110,
99, 111, 100, 105, 110, 103, 32,
69, 120, 97, 109, 112, 108, 101
};
UTF8Encoding utf8 = new UTF8Encoding();
int charCount = utf8.GetCharCount(bytes, 2, 8);
Console.WriteLine(
"{0} characters needed to decode bytes.", charCount
);
}
}
Imports System.Text
Class UTF8EncodingExample
Public Shared Sub Main()
Dim bytes() As Byte = { _
85, 84, 70, 56, 32, 69, 110, _
99, 111, 100, 105, 110, 103, 32, _
69, 120, 97, 109, 112, 108, 101 _
}
Dim utf8 As New UTF8Encoding()
Dim charCount As Integer = utf8.GetCharCount(bytes, 2, 8)
Console.WriteLine("{0} characters needed to decode bytes.", charCount)
End Sub
End Class
Poznámky
Pokud chcete vypočítat přesnou velikost pole potřebnou GetChars k uložení výsledných znaků, zavolejte metodu GetCharCount . Pokud chcete vypočítat maximální velikost pole, zavolejte metodu GetMaxCharCount . Metoda GetCharCount obecně přiděluje méně paměti, zatímco GetMaxCharCount metoda obvykle provádí rychleji.
Při detekci chyb způsobí neplatná posloupnost vyvolání výjimky touto metodou ArgumentException . Bez detekce chyb se ignorují neplatné sekvence a nevyvolá se žádná výjimka.
Viz také
Platí pro
GetCharCount(Byte*, Int32)
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
Důležité
Toto rozhraní API neodpovídá specifikaci CLS.
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným ukazatelem bajtu.
public:
override int GetCharCount(System::Byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[System.CLSCompliant(false)]
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(false)]
public override int GetCharCount(byte* bytes, int count);
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
[<System.CLSCompliant(false)>]
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(false)>]
override this.GetCharCount : nativeptr<byte> * int -> int
Parametry
- bytes
- Byte*
Ukazatel na první bajt pro dekódování.
- count
- Int32
Počet bajtů, které se mají dekódovat.
Návraty
Počet znaků vytvořených dekódováním zadané sekvence bajtů.
- Atributy
Výjimky
bytes je null.
Hodnota count je menší než nula.
nebo
Výsledný počet bajtů je větší než maximální počet, který lze vrátit jako celé číslo.
Je povoleno zjišťování chyb a bytes obsahuje neplatnou posloupnost bajtů.
Došlo k záložnímu použití (další informace najdete v tématu Kódování znaků v .NET).
a
DecoderFallback je nastaveno na DecoderExceptionFallback.
Poznámky
Pokud chcete vypočítat přesnou velikost pole potřebnou GetChars k uložení výsledných znaků, zavolejte metodu GetCharCount . Pokud chcete vypočítat maximální velikost pole, zavolejte metodu GetMaxCharCount . Metoda GetCharCount obecně přiděluje méně paměti, zatímco GetMaxCharCount metoda obvykle provádí rychleji.
Při detekci chyb způsobí neplatná posloupnost vyvolání výjimky touto metodou ArgumentException . Bez detekce chyb se ignorují neplatné sekvence a nevyvolá se žádná výjimka.
Viz také
Platí pro
GetCharCount(ReadOnlySpan<Byte>)
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
- Zdroj:
- UTF8Encoding.cs
Vypočítá počet znaků vytvořených dekódováním zadaného rozsahu bajtů.
public:
override int GetCharCount(ReadOnlySpan<System::Byte> bytes);
public override int GetCharCount(ReadOnlySpan<byte> bytes);
override this.GetCharCount : ReadOnlySpan<byte> -> int
Public Overrides Function GetCharCount (bytes As ReadOnlySpan(Of Byte)) As Integer
Parametry
- bytes
- ReadOnlySpan<Byte>
Rozsah obsahující sadu bajtů k dekódování.
Návraty
Počet znaků vytvořených dekódováním zadaného rozsahu bajtů.
Poznámky
Pokud chcete vypočítat přesnou velikost potřebnou GetChars k uložení výsledných znaků, zavolejte metodu GetCharCount . Pokud chcete vypočítat maximální velikost, zavolejte metodu GetMaxCharCount . Metoda GetCharCount obecně přiděluje méně paměti, zatímco GetMaxCharCount metoda obvykle provádí rychleji.
Při detekci chyb způsobí neplatná posloupnost vyvolání výjimky touto metodou ArgumentException . Bez detekce chyb se ignorují neplatné sekvence a nevyvolá se žádná výjimka.