Upon a closer look, switching to ByteBuffer would only get you 50% towards 
where you want to be: the resulting ByteBuffer, whether encoded or decoded, is 
*allocated* by the respective methods and then returned as a result rather than 
accepted by those methods as a parameter.

> On 14 Dec 2023, at 19:57, Pavel Rappo <pavel.ra...@oracle.com> wrote:
> 
> 
> 
>> On 14 Dec 2023, at 06:10, Magnus <magnus.eriks...@gmail.com> wrote:
>> 
>> In the java libraries there are many methods that operate on byte arrays 
>> that do not allow you to specify offset and length for the relevant data 
>> instead forcing you to copy the relevant part to new arrays before using the 
>> methods reducing performance - I am for instance struggling with this in 
>> java.util.Base64 where the Encoders and Decoders lack a length parameter 
>> (also an offset would have been great even though I don't need that in my 
>> case).
> 
> Re: java.util.Base64. Encoder and Decoder also seem to be able to work with 
> ByteBuffer. If you have an array, you can cheaply create a ByteBuffer wrapper 
> around that array. The now-backing array would be read or written though from 
> the specific position and up to the specific limit. Would that help?
> 
> -Pavel
> 

Reply via email to