-
Type:
Enhancement
-
Status: New
-
Priority:
P4
-
Resolution: Unresolved
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: core-libs
-
Subcomponent:
-
CPU:generic
-
OS:generic
Charsets which are prefixed by a BOM need to include the size of it into maxBytesPerChar() to fulfil bug JDK-8230531.
The downside is, that the buffer, calculated from maxBytesPerChar(), is near twice in size than needed.
With this new API, the actually needed buffer size could be calculated with:
int bufSize = encoder.minBytesPerSequence() + (encoder.maxBytesPerChar() - encoder.minBytesPerSequence()) * sequenceLength;
// or
int bufSize = encoder.maxBytesPerChar() * sequenceLength - encoder.minBytesPerSequence() * (sequenceLength - 1);
The downside is, that the buffer, calculated from maxBytesPerChar(), is near twice in size than needed.
With this new API, the actually needed buffer size could be calculated with:
int bufSize = encoder.minBytesPerSequence() + (encoder.maxBytesPerChar() - encoder.minBytesPerSequence()) * sequenceLength;
// or
int bufSize = encoder.maxBytesPerChar() * sequenceLength - encoder.minBytesPerSequence() * (sequenceLength - 1);
- relates to
-
JDK-8230531 API Doc for CharsetEncoder.maxBytesPerChar() should be clearer about BOMs
-
- Closed
-