maxBytesPerChar in CharsetEncoder

Schnoogle

Mitglied
Hallo,

in der Klasse CharsetEncoder gibt es folgende Methode.

Code:
float maxBytesPerChar();

Macht es denn Sinn dass diese Methode einen float zurückgibt. Es können doch eigentlich nur ganze Zahlen sein, oder habe ich da was falsch verstanden?

Kann ich den Rückgabewert ohne Verlust nach int casten?
 
Hallo Schnoogle

Nein, ich könnte zum Beispiel auch ein Charset definieren, das bis zu 1.5 Bytes pro Char verwendet, also 12 Bit pro Char. Grundsätzlich ist man da nicht limitiert auf ganze Zahlen, muss halt einfach von einem entsprechenden Decoder auch gelesen werden können.

Viele Grüsse
Cromon
 
Hallo,

vielen Dank für die Antwort. Wenn ich jetzt ein CharBuffer mit einer festen Kapazität habe und mit CharsetEncoder kodiere, ist dann garantiert dass das Ergebnis in einen ByteBuffer passt, dessen Kapazität aufgerundet charsetEncoder.maxBytesPerChar() * charBuffer.capacity() entspricht?

Viele Grüße
 

Neue Beiträge

Zurück