Bagikan melalui


UTF8Encoding.GetMaxCharCount(Int32) Metode

Definisi

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

public:
 override int GetMaxCharCount(int byteCount);
public override int GetMaxCharCount (int byteCount);
override this.GetMaxCharCount : int -> int
Public Overrides Function GetMaxCharCount (byteCount As Integer) As Integer

Parameter

byteCount
Int32

Jumlah byte yang akan didekodekan.

Mengembalikan

Jumlah maksimum karakter yang dihasilkan dengan mendekode jumlah byte yang ditentukan.

Pengecualian

byteCount kurang dari nol.

-atau-

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

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

-dan-

DecoderFallback diatur ke DecoderExceptionFallback.

Contoh

Contoh berikut menggunakan GetMaxCharCount metode untuk mengembalikan jumlah maksimum karakter yang dihasilkan dengan mendekode jumlah byte tertentu.

using namespace System;
using namespace System::Text;
int main()
{
   UTF8Encoding^ utf8 = gcnew UTF8Encoding;
   int byteCount = 8;
   int maxCharCount = utf8->GetMaxCharCount( byteCount );
   Console::WriteLine( "Maximum of {0} characters needed to decode {1} bytes.", maxCharCount, byteCount );
}
using System;
using System.Text;

class UTF8EncodingExample {
    public static void Main() {
        UTF8Encoding utf8 = new UTF8Encoding();
        int byteCount = 8;
        int maxCharCount = utf8.GetMaxCharCount(byteCount);
        Console.WriteLine(
            "Maximum of {0} characters needed to decode {1} bytes.",
            maxCharCount,
            byteCount
        );
    }
}
Imports System.Text

Class UTF8EncodingExample
    
    Public Shared Sub Main()
        Dim utf8 As New UTF8Encoding()
        Dim byteCount As Integer = 8
        Dim maxCharCount As Integer = utf8.GetMaxCharCount(byteCount)
        Console.WriteLine( _
            "Maximum of {0} characters needed to decode {1} bytes.", _
            maxCharCount, _
            byteCount _
        )
    End Sub
End Class

Keterangan

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

GetMaxCharCount adalah angka terburuk, termasuk kasus terburuk untuk yang saat ini dipilih DecoderFallback. Jika fallback dipilih dengan string yang berpotensi besar, GetMaxCharCount dapat mengembalikan nilai besar.

Dalam kebanyakan kasus, metode ini mengembalikan angka yang wajar untuk string kecil. Untuk string besar, Anda mungkin harus memilih antara menggunakan buffer yang sangat besar dan menangkap kesalahan dalam kasus yang jarang terjadi bahwa buffer yang lebih masuk akal terlampaui. Anda mungkin juga ingin mempertimbangkan pendekatan yang berbeda menggunakan GetCharCount atau Encoder.Convert.

GetMaxCharCount tidak memiliki hubungan dengan GetBytes. Jika aplikasi Anda memerlukan fungsi serupa untuk digunakan dengan GetBytes, aplikasi harus menggunakan GetMaxByteCount.

Catatan

GetMaxCharCount(N) belum tentu nilai yang sama dengan N* GetMaxCharCount(1).

Berlaku untuk

Lihat juga