SabrinaZhaozyf commented on code in PR #9114: URL: https://github.com/apache/pinot/pull/9114#discussion_r934980010
########## pinot-common/src/main/java/org/apache/pinot/common/function/scalar/StringFunctions.java: ########## @@ -560,4 +562,42 @@ public static String decodeUrl(String input) throws UnsupportedEncodingException { return URLDecoder.decode(input, StandardCharsets.UTF_8.toString()); } + + /** + * @param input binary data + * @return Base64 encoded String + */ + @ScalarFunction + public static String binaryToBase64(byte[] input) { + return Base64.getEncoder().encodeToString(input); Review Comment: Resolved - we will not have a fixed charset of input bytes now with the new implementation. For example, if user wants to encode the String "hello!", he/she can choose to do `toBase64(toUtf8("hello"))` or `toBase64(toUtf16("hello"))` (Pinot currently only supports toUtf8 and toASCII functions). During decoding, he/she can do `fromUtf8(fromBase64("fvduivheui"))` to `fromUtf16(fromBase64("fvduivheui"))` to get "hello!" depending on if they used UTF8 or UTF16 when they encoded. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org