@@ -57,7 +57,18 @@ public class EncodingGroovyMethods {
5757 * @since 1.5.1
5858 */
5959 public static Writable encodeBase64 (Byte [] data , final boolean chunked ) {
60- return encodeBase64 (DefaultTypeTransformation .convertToByteArray (data ), chunked );
60+ return encodeBase64 (toPrimitiveByteArray (data ), chunked );
61+ }
62+
63+ private static byte [] toPrimitiveByteArray (Byte [] data ) {
64+ if (data == null ) return null ;
65+
66+ byte [] result = new byte [data .length ];
67+ for (int i = 0 ; i < data .length ; i ++) {
68+ Byte b = data [i ];
69+ result [i ] = b == null ? 0 : b ;
70+ }
71+ return result ;
6172 }
6273
6374 /**
@@ -70,7 +81,7 @@ public static Writable encodeBase64(Byte[] data, final boolean chunked) {
7081 * @since 1.0
7182 */
7283 public static Writable encodeBase64 (Byte [] data ) {
73- return encodeBase64 (DefaultTypeTransformation . convertToByteArray (data ), false );
84+ return encodeBase64 (toPrimitiveByteArray (data ), false );
7485 }
7586
7687 /**
@@ -192,7 +203,7 @@ public static Writable encodeBase64Url(Byte[] data) {
192203 * @since 2.5.0
193204 */
194205 public static Writable encodeBase64Url (Byte [] data , boolean pad ) {
195- return encodeBase64Url (DefaultTypeTransformation . convertToByteArray (data ), pad );
206+ return encodeBase64Url (toPrimitiveByteArray (data ), pad );
196207 }
197208
198209 /**
@@ -299,7 +310,7 @@ private static byte[] decodeBase64(String value, boolean urlSafe) {
299310 * @see Integer#toHexString(int)
300311 */
301312 public static Writable encodeHex (final Byte [] data ) {
302- return encodeHex (DefaultTypeTransformation . convertToByteArray (data ));
313+ return encodeHex (toPrimitiveByteArray (data ));
303314 }
304315
305316 /**
0 commit comments