Aracılığıyla paylaş


UTF8Encoding.GetCharCount Yöntem

Tanım

Bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

Aşırı Yüklemeler

GetCharCount(Byte[], Int32, Int32)

Belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

GetCharCount(Byte*, Int32)

Belirtilen bayt işaretçisinde başlayan bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

GetCharCount(ReadOnlySpan<Byte>)

Belirtilen bayt aralığının kodunu çözerek üretilen karakter sayısını hesaplar.

GetCharCount(Byte[], Int32, Int32)

Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs

Belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

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

Parametreler

bytes
Byte[]

Kod çözme bayt sırasını içeren bayt dizisi.

index
Int32

Kodu çözecek ilk bayt dizini.

count
Int32

Kodu çözecek bayt sayısı.

Döndürülenler

Belirtilen bayt dizisinin kodunu çözerek üretilen karakter sayısı.

Özel durumlar

bytes, null değeridir.

index veya count sıfırdan küçüktür.

-veya-

index ve count içinde bytesgeçerli bir aralığı ifade etmeyin.

-veya-

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Hata algılama etkinleştirildi ve bytes geçersiz bayt dizisi içeriyor.

Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-Ve-

DecoderFallback olarak ayarlanır DecoderExceptionFallback.

Örnekler

Aşağıdaki örnek, bayt dizisindeki GetCharCount bir öğe aralığının kodunu çözerek üretilen karakter sayısını döndürmek için yöntemini kullanır.

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

Açıklamalar

Sonuç karakterleri depolamak için tarafından GetChars gereken tam dizi boyutunu hesaplamak için yöntemini çağırın GetCharCount . En büyük dizi boyutunu hesaplamak için yöntemini çağırın GetMaxCharCount . GetCharCount yöntemi genellikle daha az bellek ayırırkenGetMaxCharCount, yöntem genellikle daha hızlı yürütülür.

Hata algılama ile geçersiz bir dizi bu yöntemin özel durum ArgumentException oluşturmasına neden olur. Hata algılama olmadan geçersiz diziler yoksayılır ve özel durum oluşmaz.

Ayrıca bkz.

Şunlara uygulanır

GetCharCount(Byte*, Int32)

Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs

Önemli

Bu API, CLS uyumlu değildir.

Belirtilen bayt işaretçisinde başlayan bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

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

Parametreler

bytes
Byte*

Kodunu çözmek için ilk bayt işaretçisi.

count
Int32

Kodu çözecek bayt sayısı.

Döndürülenler

Belirtilen bayt dizisinin kodunu çözerek üretilen karakter sayısı.

Öznitelikler

Özel durumlar

bytes, null değeridir.

count, sıfırdan küçüktür.

-veya-

Elde edilen bayt sayısı, tamsayı olarak döndürülebilecek maksimum sayıdan büyüktür.

Hata algılama etkinleştirildi ve bytes geçersiz bayt dizisi içeriyor.

Geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)

-Ve-

DecoderFallback olarak ayarlanır DecoderExceptionFallback.

Açıklamalar

Sonuç karakterleri depolamak için tarafından GetChars gereken tam dizi boyutunu hesaplamak için yöntemini çağırın GetCharCount . En büyük dizi boyutunu hesaplamak için yöntemini çağırın GetMaxCharCount . GetCharCount yöntemi genellikle daha az bellek ayırırkenGetMaxCharCount, yöntem genellikle daha hızlı yürütülür.

Hata algılama ile geçersiz bir dizi bu yöntemin özel durum ArgumentException oluşturmasına neden olur. Hata algılama olmadan geçersiz diziler yoksayılır ve özel durum oluşmaz.

Ayrıca bkz.

Şunlara uygulanır

GetCharCount(ReadOnlySpan<Byte>)

Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs
Kaynak:
UTF8Encoding.cs

Belirtilen bayt aralığının kodunu çözerek üretilen karakter sayısını hesaplar.

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

Parametreler

bytes
ReadOnlySpan<Byte>

Kod çözme bayt kümesini içeren yayılma alanı.

Döndürülenler

Belirtilen bayt aralığının kodunu çözerek üretilen karakter sayısı.

Açıklamalar

Sonuç karakterleri depolamak için tarafından GetChars gereken tam boyutu hesaplamak için yöntemini çağırın GetCharCount . En büyük boyutu hesaplamak için yöntemini çağırın GetMaxCharCount . GetCharCount yöntemi genellikle daha az bellek ayırırkenGetMaxCharCount, yöntem genellikle daha hızlı yürütülür.

Hata algılama ile geçersiz bir dizi bu yöntemin özel durum ArgumentException oluşturmasına neden olur. Hata algılama olmadan geçersiz diziler yoksayılır ve özel durum oluşmaz.

Şunlara uygulanır