Encoder.GetByteCount Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Türetilmiş bir sınıfta geçersiz kılındığında, bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar.
Aşırı Yüklemeler
GetByteCount(ReadOnlySpan<Char>, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, 'chars' span içindeki bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir. |
GetByteCount(Char*, Int32, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter işaretçisinde başlayan bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir. |
GetByteCount(Char[], Int32, Int32, Boolean) |
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter dizisinden bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir. |
Açıklamalar
Bu yöntem kodlayıcının durumunu etkilemez.
Elde edilen baytların depolanmasını gerektiren GetBytes dizi boyutunu tam olarak hesaplamak için, uygulamanın kullanması GetByteCountgerekir.
olarak flush
ayarlanırsa GetBytes
false
kodlayıcı, veri bloğunun sonundaki karakterleri bir iç arabellekte depolar ve bunları bir sonraki kodlama işleminde kullanır. Uygulamanın aynı blokta çağrı yapmadan hemen önce bir veri bloğu üzerinde çağrısı GetByteCount
GetBytes
yapması gerekir, böylece önceki bloktaki tüm son karakterler hesaplamaya dahil edilir.
GetByteCount(ReadOnlySpan<Char>, Boolean)
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
Türetilmiş bir sınıfta geçersiz kılındığında, 'chars' span içindeki bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir.
public:
virtual int GetByteCount(ReadOnlySpan<char> chars, bool flush);
public virtual int GetByteCount (ReadOnlySpan<char> chars, bool flush);
abstract member GetByteCount : ReadOnlySpan<char> * bool -> int
override this.GetByteCount : ReadOnlySpan<char> * bool -> int
Public Overridable Function GetByteCount (chars As ReadOnlySpan(Of Char), flush As Boolean) As Integer
Parametreler
- chars
- ReadOnlySpan<Char>
Kodlamak için bir karakter aralığı.
- flush
- Boolean
true
hesaplamadan sonra kodlayıcının iç durumunu temizleme işleminin benzetimini yapmak için; aksi takdirde , false
.
Döndürülenler
Belirtilen karakterleri ve iç arabellekteki karakterleri kodlayarak üretilen bayt sayısı.
Şunlara uygulanır
GetByteCount(Char*, Int32, Boolean)
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
Önemli
Bu API, CLS uyumlu değildir.
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter işaretçisinde başlayan bir karakter kümesini kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir.
public:
virtual int GetByteCount(char* chars, int count, bool flush);
[System.CLSCompliant(false)]
public virtual int GetByteCount (char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
public virtual int GetByteCount (char* chars, int count, bool flush);
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.ComVisible(false)]
[System.Security.SecurityCritical]
public virtual int GetByteCount (char* chars, int count, bool flush);
[<System.CLSCompliant(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.ComVisible(false)>]
[<System.Security.SecurityCritical>]
abstract member GetByteCount : nativeptr<char> * int * bool -> int
override this.GetByteCount : nativeptr<char> * int * bool -> int
Parametreler
- chars
- Char*
Kodlanan ilk karakterin işaretçisi.
- count
- Int32
Kodlanacak karakter sayısı.
- flush
- Boolean
true
hesaplamadan sonra kodlayıcının iç durumunu temizleme işleminin benzetimini yapmak için; aksi takdirde , false
.
Döndürülenler
Belirtilen karakterleri ve iç arabellekteki karakterleri kodlayarak üretilen bayt sayısı.
- Öznitelikler
Özel durumlar
chars
is null
(Nothing
Visual Basic .NET'te).
count
, sıfırdan küçüktür.
Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)
-Ve-
Fallback olarak ayarlanır EncoderExceptionFallback.
Ayrıca bkz.
Şunlara uygulanır
GetByteCount(Char[], Int32, Int32, Boolean)
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
- Kaynak:
- Encoder.cs
Türetilmiş bir sınıfta geçersiz kılındığında, belirtilen karakter dizisinden bir karakter kümesi kodlayarak üretilen bayt sayısını hesaplar. Parametre, hesaplamadan sonra kodlayıcının iç durumunun temizlenip temizlenmeyeceğini gösterir.
public:
abstract int GetByteCount(cli::array <char> ^ chars, int index, int count, bool flush);
public abstract int GetByteCount (char[] chars, int index, int count, bool flush);
abstract member GetByteCount : char[] * int * int * bool -> int
Public MustOverride Function GetByteCount (chars As Char(), index As Integer, count As Integer, flush As Boolean) As Integer
Parametreler
- chars
- Char[]
Kodlanması gereken karakter kümesini içeren karakter dizisi.
- index
- Int32
Kodlanan ilk karakterin dizini.
- count
- Int32
Kodlanacak karakter sayısı.
- flush
- Boolean
true
hesaplamadan sonra kodlayıcının iç durumunu temizleme işleminin benzetimini yapmak için; aksi takdirde , false
.
Döndürülenler
Belirtilen karakterleri ve iç arabellekteki karakterleri kodlayarak üretilen bayt sayısı.
Özel durumlar
chars
, null
değeridir.
index
veya count
sıfırdan küçüktür.
-veya-
index
ve count
içinde chars
geçerli bir aralığı ifade etmeyin.
Bir geri dönüş oluştu (daha fazla bilgi için bkz. .NET'te Karakter Kodlama)
-Ve-
Fallback olarak ayarlanır EncoderExceptionFallback.
Örnekler
Aşağıdaki kod örneği, Unicode Encoderkullanarak bir karakter dizisini GetByteCount kodlamak için gereken bayt sayısını döndürmek için yönteminin nasıl kullanılacağını gösterir.
using namespace System;
using namespace System::Text;
int main()
{
// Unicode characters.
// Pi
// Sigma
array<Char>^chars = {L'\u03a0',L'\u03a3',L'\u03a6',L'\u03a9'};
Encoder^ uniEncoder = Encoding::Unicode->GetEncoder();
int byteCount = uniEncoder->GetByteCount( chars, 0, chars->Length, true );
Console::WriteLine( "{0} bytes needed to encode characters.", byteCount );
}
/* This code example produces the following output.
8 bytes needed to encode characters.
*/
using System;
using System.Text;
class EncoderExample {
public static void Main() {
// Unicode characters.
Char[] chars = new Char[] {
'\u0023', // #
'\u0025', // %
'\u03a0', // Pi
'\u03a3' // Sigma
};
Encoder uniEncoder = Encoding.Unicode.GetEncoder();
int byteCount = uniEncoder.GetByteCount(chars, 0, chars.Length, true);
Console.WriteLine(
"{0} bytes needed to encode characters.", byteCount
);
}
}
/* This example produces the following output.
8 bytes needed to encode characters.
*/
Imports System.Text
Imports Microsoft.VisualBasic.Strings
Class EncoderExample
Public Shared Sub Main()
' Unicode characters.
' ChrW(35) = #
' ChrW(37) = %
' ChrW(928) = Pi
' ChrW(931) = Sigma
Dim chars() As Char = {ChrW(35), ChrW(37), ChrW(928), ChrW(931)}
Dim uniEncoder As Encoder = Encoding.Unicode.GetEncoder()
Dim byteCount As Integer = _
uniEncoder.GetByteCount(chars, 0, chars.Length, True)
Console.WriteLine("{0} bytes needed to encode characters.", byteCount)
End Sub
End Class
'
'This example produces the following output.
'
'8 bytes needed to encode characters.
'