Aracılığıyla paylaş


Decoder.GetCharCount Yöntem

Tanım

Türetilmiş bir sınıfta geçersiz kılındığında, bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

Aşırı Yüklemeler

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, yayılmadaki bayt sırasının kodunu çözerek üretilen karakter sayısını hesaplar. Parametre, hesaplamadan sonra kod çözücüsünün iç durumunun temizlenip temizlenmeyeceğini gösterir.

GetCharCount(Byte*, Int32, Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bayt işaretçisinde başlayan bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar. Parametre, hesaplamadan sonra kod çözücüsünün iç durumunun temizlenip temizlenmeyeceğini gösterir.

GetCharCount(Byte[], Int32, Int32)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

GetCharCount(Byte[], Int32, Int32, Boolean)

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar. Parametre, hesaplamadan sonra kod çözücüsünün iç durumunun temizlenip temizlenmeyeceğini gösterir.

GetCharCount(ReadOnlySpan<Byte>, Boolean)

Kaynak:
Decoder.cs
Kaynak:
Decoder.cs
Kaynak:
Decoder.cs

Türetilmiş bir sınıfta geçersiz kılındığında, yayılmadaki bayt sırasının kodunu çözerek üretilen karakter sayısını hesaplar. Parametre, hesaplamadan sonra kod çözücüsünün iç durumunun temizlenip temizlenmeyeceğini gösterir.

public:
 virtual int GetCharCount(ReadOnlySpan<System::Byte> bytes, bool flush);
public virtual int GetCharCount (ReadOnlySpan<byte> bytes, bool flush);
abstract member GetCharCount : ReadOnlySpan<byte> * bool -> int
override this.GetCharCount : ReadOnlySpan<byte> * bool -> int
Public Overridable Function GetCharCount (bytes As ReadOnlySpan(Of Byte), flush As Boolean) As Integer

Parametreler

bytes
ReadOnlySpan<Byte>

Kodunu çözmek için bir bayt aralığı.

flush
Boolean

true hesaplamadan sonra kodlayıcının iç durumunu temizleme işlemini simüle etmek için; aksi takdirde , false.

Döndürülenler

Belirtilen bayt dizisi ve iç arabellekteki baytlar çözülerek oluşturulan karakter sayısı.

Açıklamalar

Bu yöntem kod çözücü durumunu etkilemez.

Sonuçta elde edilen karakterlerin depolanmasını gerektiren GetChars tam arabellek boyutunu hesaplamak için, uygulamanın kullanması GetCharCountgerekir.

olarak ayarlanırsa GetCharsflushfalsekod çözücü, veri bloğunun sonundaki baytları bir iç arabellekte depolar ve bunları bir sonraki kod çözme işleminde kullanır. Uygulamanın aynı blokta çağrı yapmadan hemen önce bir veri bloğu üzerinde çağrısı GetCharCountGetChars yapması gerekir, böylece önceki bloktaki sondaki baytlar hesaplamaya dahil edilir.

Şunlara uygulanır

GetCharCount(Byte*, Int32, Boolean)

Kaynak:
Decoder.cs
Kaynak:
Decoder.cs
Kaynak:
Decoder.cs

Önemli

Bu API, CLS uyumlu değildir.

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bayt işaretçisinde başlayan bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar. Parametre, hesaplamadan sonra kod çözücüsünün iç durumunun temizlenip temizlenmeyeceğini gösterir.

public:
 virtual int GetCharCount(System::Byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetCharCount (byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount (byte* bytes, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetCharCount (byte* bytes, int count, bool flush);
[<System.CLSCompliant(false)>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetCharCount : nativeptr<byte> * int * bool -> int
override this.GetCharCount : nativeptr<byte> * int * bool -> int

Parametreler

bytes
Byte*

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

count
Int32

Kodu çözecek bayt sayısı.

flush
Boolean

true hesaplamadan sonra kodlayıcının iç durumunu temizleme işlemini simüle etmek için; aksi takdirde , false.

Döndürülenler

Belirtilen bayt dizisi ve iç arabellekteki baytlar çözülerek oluşturulan karakter sayısı.

Öznitelikler

Özel durumlar

bytes is null (Nothing Visual Basic .NET'te).

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

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

-Ve-

Fallback olarak ayarlanır DecoderExceptionFallback.

Açıklamalar

Bu yöntem kod çözücü durumunu etkilemez.

Sonuçta elde edilen karakterlerin depolanmasını gerektiren GetChars tam dizi boyutunu hesaplamak için, uygulamanın kullanması GetCharCountgerekir.

olarak ayarlanırsa GetCharsflushfalsekod çözücü, veri bloğunun sonundaki baytları bir iç arabellekte depolar ve bunları bir sonraki kod çözme işleminde kullanır. Uygulamanın aynı blokta çağrı yapmadan hemen önce bir veri bloğu üzerinde çağrısı GetCharCountGetChars yapması gerekir, böylece önceki bloktaki sondaki baytlar hesaplamaya dahil edilir.

Ayrıca bkz.

Şunlara uygulanır

GetCharCount(Byte[], Int32, Int32)

Kaynak:
Decoder.cs
Kaynak:
Decoder.cs
Kaynak:
Decoder.cs

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar.

public:
 abstract int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count);
public abstract int GetCharCount (byte[] bytes, int index, int count);
abstract member GetCharCount : byte[] * int * int -> int
Public MustOverride 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 dizisi ve iç arabellekteki baytlar çözülerek oluşturulan karakter sayısı.

Özel durumlar

bytes is null (Nothing).

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

-veya-

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

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

-Ve-

Fallback olarak ayarlanır DecoderExceptionFallback.

Örnekler

Aşağıdaki kod örneği, dizide GetCharCount belirtilen bayt aralığının kodunu çözmek için gereken karakter sayısını hesaplamak için yönteminin nasıl kullanılacağını gösterir.

using namespace System;
using namespace System::Text;
int main()
{
   array<Byte>^bytes = {85,0,110,0,105,0,99,0,111,0,100,0,101,0};
   Decoder^ uniDecoder = Encoding::Unicode->GetDecoder();
   int charCount = uniDecoder->GetCharCount( bytes, 0, bytes->Length );
   Console::WriteLine( "{0} characters needed to decode bytes.", charCount );
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/
using System;
using System.Text;

class DecoderExample {
    public static void Main() {
        Byte[] bytes = new Byte[] {
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0
        };

        Decoder uniDecoder = Encoding.Unicode.GetDecoder();
        int charCount = uniDecoder.GetCharCount(bytes, 0, bytes.Length);
        Console.WriteLine(
            "{0} characters needed to decode bytes.", charCount
        );
    }
}

/* This code example produces the following output.

7 characters needed to decode bytes.

*/
Imports System.Text

Class DecoderExample
    
    Public Shared Sub Main()
        Dim bytes() As Byte = { _
            85, 0, 110, 0, 105, 0, 99, 0, 111, 0, 100, 0, 101, 0 _
        }
        
        Dim uniDecoder As Decoder = Encoding.Unicode.GetDecoder()
        Dim charCount As Integer = uniDecoder.GetCharCount(bytes, 0, bytes.Length)
        Console.WriteLine("{0} characters needed to decode bytes.", charCount)
    End Sub
End Class

'This code example produces the following output.
'
'7 characters needed to decode bytes.
'

Açıklamalar

Bu yöntem kod çözücü durumunu etkilemez.

Sonuçta elde edilen karakterlerin depolanmasını gerektiren GetChars tam dizi boyutunu hesaplamak için, uygulamanın kullanması GetCharCountgerekir.

olarak ayarlanırsa GetCharsflushfalsekod çözücü, veri bloğunun sonundaki baytları bir iç arabellekte depolar ve bunları bir sonraki kod çözme işleminde kullanır. Uygulamanın aynı blokta çağrı yapmadan hemen önce bir veri bloğu üzerinde çağrısı GetCharCountGetChars yapması gerekir, böylece önceki bloktaki sondaki baytlar hesaplamaya dahil edilir.

Ayrıca bkz.

Şunlara uygulanır

GetCharCount(Byte[], Int32, Int32, Boolean)

Kaynak:
Decoder.cs
Kaynak:
Decoder.cs
Kaynak:
Decoder.cs

Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen bayt dizisinden bir bayt dizisinin kodunu çözerek üretilen karakter sayısını hesaplar. Parametre, hesaplamadan sonra kod çözücüsünün iç durumunun temizlenip temizlenmeyeceğini gösterir.

public:
 virtual int GetCharCount(cli::array <System::Byte> ^ bytes, int index, int count, bool flush);
public virtual int GetCharCount (byte[] bytes, int index, int count, bool flush);
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetCharCount (byte[] bytes, int index, int count, bool flush);
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetCharCount : byte[] * int * int * bool -> int
override this.GetCharCount : byte[] * int * int * bool -> int
Public Overridable Function GetCharCount (bytes As Byte(), index As Integer, count As Integer, flush As Boolean) 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ı.

flush
Boolean

true hesaplamadan sonra kodlayıcının iç durumunu temizleme işlemini simüle etmek için; aksi takdirde , false.

Döndürülenler

Belirtilen bayt dizisi ve iç arabellekteki baytlar çözülerek oluşturulan karakter sayısı.

Öznitelikler

Özel durumlar

bytes is null (Nothing).

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

-veya-

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

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

-Ve-

Fallback olarak ayarlanır DecoderExceptionFallback.

Açıklamalar

Bu yöntem kod çözücü durumunu etkilemez.

Sonuçta elde edilen karakterlerin depolanmasını gerektiren GetChars tam dizi boyutunu hesaplamak için, uygulamanın kullanması GetCharCountgerekir.

olarak ayarlanırsa GetCharsflushfalsekod çözücü, veri bloğunun sonundaki baytları bir iç arabellekte depolar ve bunları bir sonraki kod çözme işleminde kullanır. Uygulamanın aynı blokta çağrı yapmadan hemen önce bir veri bloğu üzerinde çağrısı GetCharCountGetChars yapması gerekir, böylece önceki bloktaki sondaki baytlar hesaplamaya dahil edilir.

Ayrıca bkz.

Şunlara uygulanır