Bagikan melalui


UTF8Encoding.GetCharCount Metode

Definisi

Menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte.

Overload

GetCharCount(Byte[], Int32, Int32)

Menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dari array byte yang ditentukan.

GetCharCount(Byte*, Int32)

Menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte yang dimulai pada penunjuk byte yang ditentukan.

GetCharCount(ReadOnlySpan<Byte>)

Menghitung jumlah karakter yang dihasilkan dengan mendekode rentang byte yang ditentukan.

GetCharCount(Byte[], Int32, Int32)

Sumber:
UTF8Encoding.cs
Sumber:
UTF8Encoding.cs
Sumber:
UTF8Encoding.cs

Menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte dari array byte yang ditentukan.

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

Parameter

bytes
Byte[]

Array byte yang berisi urutan byte yang akan didekodekan.

index
Int32

Indeks byte pertama yang didekodekan.

count
Int32

Jumlah byte yang akan didekodekan.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode urutan byte yang ditentukan.

Pengecualian

bytesadalah null.

index atau count kurang dari nol.

-atau-

index dan count tidak menunjukkan rentang yang valid dalam bytes.

-atau-

Jumlah byte yang dihasilkan lebih besar dari angka maksimum yang dapat dikembalikan sebagai bilangan bulat.

Deteksi kesalahan diaktifkan, dan bytes berisi urutan byte yang tidak valid.

Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)

-dan-

DecoderFallback diatur ke DecoderExceptionFallback.

Contoh

Contoh berikut menggunakan GetCharCount metode untuk mengembalikan jumlah karakter yang dihasilkan dengan mendekode rentang elemen dalam array byte.

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

Keterangan

Untuk menghitung ukuran array yang tepat yang diperlukan oleh GetChars untuk menyimpan karakter yang dihasilkan, panggil GetCharCount metode . Untuk menghitung ukuran array maksimum, panggil GetMaxCharCount metode . Metode ini GetCharCount umumnya mengalokasikan lebih sedikit memori, sementara GetMaxCharCount metode umumnya dijalankan lebih cepat.

Dengan deteksi kesalahan, urutan yang tidak valid menyebabkan metode ini melemparkan ArgumentException pengecualian. Tanpa deteksi kesalahan, urutan yang tidak valid diabaikan, dan tidak ada pengecualian yang dilemparkan.

Lihat juga

Berlaku untuk

GetCharCount(Byte*, Int32)

Sumber:
UTF8Encoding.cs
Sumber:
UTF8Encoding.cs
Sumber:
UTF8Encoding.cs

Penting

API ini bukan kompatibel CLS.

Menghitung jumlah karakter yang dihasilkan dengan mendekode urutan byte yang dimulai pada penunjuk byte yang ditentukan.

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

Parameter

bytes
Byte*

Penunjuk ke byte pertama yang didekodekan.

count
Int32

Jumlah byte yang akan didekodekan.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode urutan byte yang ditentukan.

Atribut

Pengecualian

bytesadalah null.

count kurang dari nol.

-atau-

Jumlah byte yang dihasilkan lebih besar dari angka maksimum yang dapat dikembalikan sebagai bilangan bulat.

Deteksi kesalahan diaktifkan, dan bytes berisi urutan byte yang tidak valid.

Fallback terjadi (untuk informasi selengkapnya, lihat Pengodean Karakter di .NET)

-dan-

DecoderFallback diatur ke DecoderExceptionFallback.

Keterangan

Untuk menghitung ukuran array yang tepat yang diperlukan oleh GetChars untuk menyimpan karakter yang dihasilkan, panggil GetCharCount metode . Untuk menghitung ukuran array maksimum, panggil GetMaxCharCount metode . Metode ini GetCharCount umumnya mengalokasikan lebih sedikit memori, sementara GetMaxCharCount metode umumnya dijalankan lebih cepat.

Dengan deteksi kesalahan, urutan yang tidak valid menyebabkan metode ini melemparkan ArgumentException pengecualian. Tanpa deteksi kesalahan, urutan yang tidak valid diabaikan, dan tidak ada pengecualian yang dilemparkan.

Lihat juga

Berlaku untuk

GetCharCount(ReadOnlySpan<Byte>)

Sumber:
UTF8Encoding.cs
Sumber:
UTF8Encoding.cs
Sumber:
UTF8Encoding.cs

Menghitung jumlah karakter yang dihasilkan dengan mendekode rentang byte yang ditentukan.

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

Parameter

bytes
ReadOnlySpan<Byte>

Rentang yang berisi set byte untuk didekodekan.

Mengembalikan

Jumlah karakter yang dihasilkan dengan mendekode rentang byte yang ditentukan.

Keterangan

Untuk menghitung ukuran persis yang diperlukan oleh GetChars untuk menyimpan karakter yang dihasilkan, panggil GetCharCount metode . Untuk menghitung ukuran maksimum, panggil GetMaxCharCount metode . Metode ini GetCharCount umumnya mengalokasikan lebih sedikit memori, sementara GetMaxCharCount metode umumnya dijalankan lebih cepat.

Dengan deteksi kesalahan, urutan yang tidak valid menyebabkan metode ini melemparkan ArgumentException pengecualian. Tanpa deteksi kesalahan, urutan yang tidak valid diabaikan, dan tidak ada pengecualian yang dilemparkan.

Berlaku untuk