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í
GetCharCount(Byte[], Int32, Int32) |
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného pole bajtů. |
GetCharCount(Byte*, Int32) |
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů počínaje zadaným bajtovým ukazatelem. |
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
Vypočítá počet znaků vytvořených dekódováním posloupnosti bajtů ze zadaného pole bajtů.
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[]
Pole bajtů obsahující posloupnost bajtů, které se mají dekódovat.
- index
- Int32
Index prvního bajtu, který se má dekódovat.
- count
- Int32
Počet bajtů k dekódování.
Návraty
Počet znaků vytvořených dekódováním zadané posloupnosti bajtů.
Výjimky
bytes
je null
.
index
nebo count
je menší než nula.
-nebo-
index
a count
neoznamujte platnou oblast v bytes
souboru .
-nebo-
Výsledný počet bajtů je větší než maximální počet, který lze vrátit jako celé číslo.
Detekce chyb je povolená a bytes
obsahuje neplatnou posloupnost bajtů.
Došlo k náhradnímu řešení (další informace najdete v tématu Kódování znaků v .NET).
-A-
DecoderFallback je nastavená na DecoderExceptionFallbackhodnotu .
Příklady
Následující příklad používá metodu GetCharCount k vrácení počtu znaků vytvořených dekódováním oblasti prvků v bajtovém poli.
using namespace System;
using namespace System::Text;
int main()
{
array<Byte>^bytes = {85,84,70,56,32,69,110,99,111,100,105,110,103,32,69,120,97,109,112,108,101};
UTF8Encoding^ utf8 = gcnew UTF8Encoding;
int charCount = utf8->GetCharCount( bytes, 2, 8 );
Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}
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 požadovanou GetChars pro 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 obecně provádí rychleji.
Při detekci chyb způsobí neplatná sekvence, že tato metoda vyvolá ArgumentException výjimku. Bez detekce chyb se neplatné sekvence ignorují a nedochází k žádné výjimce.
Viz také
Platí pro
GetCharCount(Byte*, Int32)
- 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 bajtovým ukazatelem.
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, který chcete dekódovat.
- count
- Int32
Počet bajtů k dekódování.
Návraty
Počet znaků vytvořených dekódováním zadané posloupnosti 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.
Detekce chyb je povolená a bytes
obsahuje neplatnou posloupnost bajtů.
Došlo k náhradnímu řešení (další informace najdete v tématu Kódování znaků v .NET).
-A-
DecoderFallback je nastavená na DecoderExceptionFallbackhodnotu .
Poznámky
Pokud chcete vypočítat přesnou velikost pole požadovanou GetChars pro 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 obecně provádí rychleji.
Při detekci chyb způsobí neplatná sekvence, že tato metoda vyvolá ArgumentException výjimku. Bez detekce chyb se neplatné sekvence ignorují a nedochází k žádné výjimce.
Viz také
Platí pro
GetCharCount(ReadOnlySpan<Byte>)
- 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ů, které se mají dekódovat.
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 obecně provádí rychleji.
Při detekci chyb způsobí neplatná sekvence, že tato metoda vyvolá ArgumentException výjimku. Bez detekce chyb se neplatné sekvence ignorují a nedochází k žádné výjimce.