All Downloads are FREE. Search and download functionalities are using the official Maven repository.

dev.utils.common.EncodeUtils Maven / Gradle / Ivy

package dev.utils.common;

import dev.utils.common.cipher.Base64;

/**
 * detail: 编码工具类
 * @author Ttt
 * 
 *     Base64 flags
 *     

* CRLF 这个参数看起来比较眼熟, 它就是 Win 风格的换行符, 意思就是使用 CR LF 这一对作为一行的结尾而不是 Unix 风格的 LF * DEFAULT 这个参数是默认, 使用默认的方法来加密 * NO_PADDING 这个参数是略去加密字符串最后的 = * NO_WRAP 这个参数意思是略去所有的换行符 ( 设置后 CRLF 就没用了 ) * URL_SAFE 这个参数意思是加密时不使用对 URL 和文件名有特殊意义的字符来作为加密字符, 具体就是以 - 和 _ 取代 + 和 / *
*/ public final class EncodeUtils { private EncodeUtils() { } // ========== // = Base64 = // ========== // ============== // = Base64 编码 = // ============== /** * Base64 编码 * @param input 待处理数据 * @return Base64 编码后的 byte[] */ public static byte[] base64Encode(final String input) { return base64Encode(input, Base64.NO_WRAP); } /** * Base64 编码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 编码后的 byte[] */ public static byte[] base64Encode( final String input, final int flags ) { return base64Encode(ConvertUtils.toBytes(input), flags); } /** * Base64 编码 * @param input 待处理数据 * @return Base64 编码后的 byte[] */ public static byte[] base64Encode(final byte[] input) { return base64Encode(input, Base64.NO_WRAP); } /** * Base64 编码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 编码后的 byte[] */ public static byte[] base64Encode( final byte[] input, final int flags ) { if (input == null) return null; return Base64.encode(input, flags); } // = /** * Base64 编码 * @param input 待处理数据 * @return Base64 编码后的 byte[] 转 String */ public static String base64EncodeToString(final String input) { return base64EncodeToString(input, Base64.NO_WRAP); } /** * Base64 编码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 编码后的 byte[] 转 String */ public static String base64EncodeToString( final String input, final int flags ) { return base64EncodeToString(ConvertUtils.toBytes(input), flags); } /** * Base64 编码 * @param input 待处理数据 * @return Base64 编码后的 byte[] 转 String */ public static String base64EncodeToString(final byte[] input) { return base64EncodeToString(input, Base64.NO_WRAP); } /** * Base64 编码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 编码后的 byte[] 转 String */ public static String base64EncodeToString( final byte[] input, final int flags ) { if (input == null) return null; return ConvertUtils.newString(Base64.encode(input, flags)); } // ============== // = Base64 解码 = // ============== /** * Base64 解码 * @param input 待处理数据 * @return Base64 解码后的 byte[] */ public static byte[] base64Decode(final String input) { return base64Decode(input, Base64.NO_WRAP); } /** * Base64 解码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 解码后的 byte[] */ public static byte[] base64Decode( final String input, final int flags ) { return base64Decode(ConvertUtils.toBytes(input), flags); } /** * Base64 解码 * @param input 待处理数据 * @return Base64 解码后的 byte[] */ public static byte[] base64Decode(final byte[] input) { return base64Decode(input, Base64.NO_WRAP); } /** * Base64 解码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 解码后的 byte[] */ public static byte[] base64Decode( final byte[] input, final int flags ) { if (input == null) return null; return Base64.decode(input, flags); } // = /** * Base64 解码 * @param input 待处理数据 * @return Base64 解码后的 byte[] 转 String */ public static String base64DecodeToString(final String input) { return base64DecodeToString(input, Base64.NO_WRAP); } /** * Base64 解码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 解码后的 byte[] 转 String */ public static String base64DecodeToString( final String input, final int flags ) { return base64DecodeToString(ConvertUtils.toBytes(input), flags); } /** * Base64 解码 * @param input 待处理数据 * @return Base64 解码后的 byte[] 转 String */ public static String base64DecodeToString(final byte[] input) { return base64DecodeToString(input, Base64.NO_WRAP); } /** * Base64 解码 * @param input 待处理数据 * @param flags Base64 编解码 flags * @return Base64 解码后的 byte[] 转 String */ public static String base64DecodeToString( final byte[] input, final int flags ) { if (input == null) return null; return ConvertUtils.newString(Base64.decode(input, flags)); } // ======== // = Html = // ======== /** * Html 字符串编码 * @param input 待处理数据 * @return Html 编码后的数据 */ public static String htmlEncode(final CharSequence input) { if (input == null) return null; StringBuilder builder = new StringBuilder(); char ch; for (int i = 0, len = input.length(); i < len; i++) { ch = input.charAt(i); switch (ch) { case '<': builder.append("<"); //$NON-NLS-1$ break; case '>': builder.append(">"); //$NON-NLS-1$ break; case '&': builder.append("&"); //$NON-NLS-1$ break; case '\'': //http://www.w3.org/TR/xhtml1 // The named character reference ' (the apostrophe, U+0027) was introduced in // XML 1.0 but does not appear in HTML. Authors should therefore use ' instead // of ' to work as expected in HTML 4 user agents. builder.append("'"); //$NON-NLS-1$ break; case '"': builder.append("""); //$NON-NLS-1$ break; default: builder.append(ch); } } return builder.toString(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy