UTF8Encoding.GetCharCount Metod

Definition

Beräknar antalet tecken som genereras genom avkodning av en sekvens med byte.

Överlagringar

Name Description
GetCharCount(Byte[], Int32, Int32)

Beräknar antalet tecken som genereras genom avkodning av en sekvens med byte från den angivna bytematrisen.

GetCharCount(Byte*, Int32)

Beräknar antalet tecken som genereras genom avkodning av en sekvens med byte som börjar vid den angivna bytepekaren.

GetCharCount(ReadOnlySpan<Byte>)

Beräknar antalet tecken som genereras genom avkodning av det angivna byteintervallet.

GetCharCount(Byte[], Int32, Int32)

Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs

Beräknar antalet tecken som genereras genom avkodning av en sekvens med byte från den angivna bytematrisen.

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

Parametrar

bytes
Byte[]

Bytematrisen som innehåller sekvensen med byte som ska avkodas.

index
Int32

Indexet för den första byte som ska avkodas.

count
Int32

Antalet byte som ska avkodas.

Returer

Antalet tecken som genereras genom avkodning av den angivna sekvensen med byte.

Undantag

bytes är null.

index eller count är mindre än noll.

-eller-

index och count ange inte ett giltigt intervall i bytes.

-eller-

Det resulterande antalet byte är större än det maximala antalet som kan returneras som ett heltal.

Felidentifiering är aktiverat och bytes innehåller en ogiltig sekvens med byte.

En reserv inträffade (mer information finns i Character Encoding i .NET)

-och-

DecoderFallback är inställt på DecoderExceptionFallback.

Exempel

I följande exempel används GetCharCount metoden för att returnera antalet tecken som genereras genom avkodning av ett intervall med element i en bytematris.

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

Kommentarer

Om du vill beräkna den exakta matrisstorlek som krävs för GetChars att lagra de resulterande tecknen anropar GetCharCount du metoden. Anropa metoden för att beräkna den maximala matrisstorleken GetMaxCharCount . Metoden GetCharCount allokerar vanligtvis mindre minne, medan GetMaxCharCount metoden vanligtvis körs snabbare.

Med felidentifiering leder en ogiltig sekvens till att den här metoden utlöser ett ArgumentException undantag. Utan felidentifiering ignoreras ogiltiga sekvenser och inget undantag utlöses.

Se även

Gäller för

GetCharCount(Byte*, Int32)

Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs

Viktigt!

Detta API uppfyller inte CLS.

Beräknar antalet tecken som genereras genom avkodning av en sekvens med byte som börjar vid den angivna bytepekaren.

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

Parametrar

bytes
Byte*

En pekare till den första byte som ska avkodas.

count
Int32

Antalet byte som ska avkodas.

Returer

Antalet tecken som genereras genom avkodning av den angivna sekvensen med byte.

Attribut

Undantag

bytes är null.

count är mindre än noll.

-eller-

Det resulterande antalet byte är större än det maximala antalet som kan returneras som ett heltal.

Felidentifiering är aktiverat och bytes innehåller en ogiltig sekvens med byte.

En reserv inträffade (mer information finns i Character Encoding i .NET)

-och-

DecoderFallback är inställt på DecoderExceptionFallback.

Kommentarer

Om du vill beräkna den exakta matrisstorlek som krävs för GetChars att lagra de resulterande tecknen anropar GetCharCount du metoden. Anropa metoden för att beräkna den maximala matrisstorleken GetMaxCharCount . Metoden GetCharCount allokerar vanligtvis mindre minne, medan GetMaxCharCount metoden vanligtvis körs snabbare.

Med felidentifiering leder en ogiltig sekvens till att den här metoden utlöser ett ArgumentException undantag. Utan felidentifiering ignoreras ogiltiga sekvenser och inget undantag utlöses.

Se även

Gäller för

GetCharCount(ReadOnlySpan<Byte>)

Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs
Källa:
UTF8Encoding.cs

Beräknar antalet tecken som genereras genom avkodning av det angivna byteintervallet.

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

Parametrar

bytes
ReadOnlySpan<Byte>

Det intervall som innehåller den uppsättning byte som ska avkodas.

Returer

Antalet tecken som genereras genom avkodning av det angivna byteintervallet.

Kommentarer

Om du vill beräkna den exakta storlek som krävs för GetChars att lagra de resulterande tecknen anropar GetCharCount du metoden. Anropa metoden för GetMaxCharCount att beräkna den maximala storleken. Metoden GetCharCount allokerar vanligtvis mindre minne, medan GetMaxCharCount metoden vanligtvis körs snabbare.

Med felidentifiering leder en ogiltig sekvens till att den här metoden utlöser ett ArgumentException undantag. Utan felidentifiering ignoreras ogiltiga sekvenser och inget undantag utlöses.

Gäller för