On Thu, 26 Feb 2026 10:17:54 GMT, Eirik Bjørsnøs <eirbjo@openjdk.org> wrote:
Avoid a byte array copy in encodeToString by using JavaLangAccess#uncheckedNewStringWithLatin1Bytes
src/java.base/share/classes/java/util/Base64.java line 351:
349: */ 350: public String encodeToString(byte[] src) { 351: byte[] encoded = encode(src);
Consider adding a comment here to make it clear that `encoded` is guaranteed to be ASCII-only.
Otherwise, using `uncheckedNewStringWithLatin1Bytes` would not be safe. Better to make this contract explicit with a comment.
`encoded` is already a well-behaved platform API, and this method already states:
In other words, an invocation of this method has exactly the same effect as invoking `new String(encode(src), StandardCharsets.ISO_8859_1)`.
And this is exactly compatible with `uncheckedNewStringWithLatin1Bytes`. Let's not add redundant comments. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/29920#discussion_r2859802886