import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import java.net.URLEncoder; import org.apache.commons.codec.DecoderException; import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Hex; import org.apache.commons.lang.StringEscapeUtils; /** * 封装各种格式的编码解码工具类. * * 1.Commons-Codec的hex/base64 编码 * 2.Commons-Lang的xml/html escape * 3.JDK提供的URLEncoder * */ public abstract class EncodeUtils { private static final String ALPHABET = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; private static final String DEFAULT_URL_ENCODING = "UTF-8"; /** * Hex编码, byte[]->String. */ public static String encodeHex(byte[] input) { return Hex.encodeHexString(input); } /** * Hex解码, String->byte[]. */ public static byte[] decodeHex(String input) { try { return Hex.decodeHex(input.toCharArray()); } catch (DecoderException e) { throw new IllegalStateException("Hex Decoder exception", e); } } /** * Base64编码, byte[]->String. */ public static String encodeBase64(byte[] input) { return Base64.encodeBase64String(input); } /** * Base64编码, URL安全(将Base64中的URL非法字符'+'和'/'转为'-'和'_', 见RFC3548). */ public static String encodeUrlSafeBase64(byte[] input) { return Base64.encodeBase64URLSafeString(input); } /** * Base64解码, String->byte[]. */ public static byte[] decodeBase64(String input) { return Base64.decodeBase64(input); } /** * Base62(0_9A_Za_z)编码数字, long->String. */ public static String encodeBase62(long num) { return alphabetEncode(num, 62); } /** * Base62(0_9A_Za_z)解码数字, String->long. */ public static long decodeBase62(String str) { return alphabetDecode(str, 62); } private static String alphabetEncode(long num, int base) { num = Math.abs(num); StringBuilder sb = new StringBuilder(); for (; num > 0; num /= base) { sb.append(ALPHABET.charAt((int) (num % base))); } return sb.toString(); } private static long alphabetDecode(String str, int base) { AssertUtils.hasText(str); long result = 0; for (int i = 0; i < str.length(); i++) { result += ALPHABET.indexOf(str.charAt(i)) * Math.pow(base, i); } return result; } /** * URL 编码, Encode默认为UTF-8. */ public static String urlEncode(String part) { try { return URLEncoder.encode(part, DEFAULT_URL_ENCODING); } catch (UnsupportedEncodingException e) { throw ExceptionUtils.unchecked(e); } } /** * URL 解码, Encode默认为UTF-8. */ public static String urlDecode(String part) { try { return URLDecoder.decode(part, DEFAULT_URL_ENCODING); } catch (UnsupportedEncodingException e) { throw ExceptionUtils.unchecked(e); } } /** * Html 转码. */ public static String htmlEscape(String html) { return StringEscapeUtils.escapeHtml(html); } /** * Html 解码. */ public static String htmlUnescape(String htmlEscaped) { return StringEscapeUtils.unescapeHtml(htmlEscaped); } /** * Xml 转码. */ public static String xmlEscape(String xml) { return StringEscapeUtils.escapeXml(xml); } /** * Xml 解码. */ public static String xmlUnescape(String xmlEscaped) { return StringEscapeUtils.unescapeXml(xmlEscaped); } }
相关推荐
/** * 封装各种格式的编码解码工具类. * 1.Commons-Codec的 hex/base64 编码 * 2.自制的base62 编码 * 3.Commons-Lang的xml/html escape * 4.JDK提供的URLEncoder */
android Base64编码解码jar包
【编码与解码工具类详解】 在编程中,我们经常需要对数据进行编码和解码,以便于存储、传输或处理。本篇文章将详细介绍几种常见的编码解码方式,包括Hex编码、Base64编码以及URL编码,并提供一个集成Apache Commons...
10. **编码解码工具类**: 包括字符编码转换、Base64编码解码、Hex编码解码等。`CodecUtils`可能包含这些功能,方便进行数据的编码和解码。 以上只是`opslabJutil-master`可能包含的一些核心功能模块,实际的工具...
在提供的压缩包文件"base64"中,可能包含了更具体的Base64编码解码工具的实现,例如自定义类或扩展功能。这些源码可以作为学习和理解Base64编码工作原理的实例,也可以作为基础,帮助你开发更复杂的应用,如文件的...
8. **编码解码工具类**:如Base64编码解码,可以在Java 8的java.util.Base64中找到,或者Apache Commons Codec库提供了更多编码方式。 9. **线程并发工具类**:Java的java.util.concurrent包提供了线程池、同步工具...
md5,base64,qp编码解码,非常小巧有用
11. **编码解码工具类**:如EncodingUtils,支持各种字符编码和解码,解决跨平台时的编码问题。 12. **正则表达式工具类**:如RegexUtils,提供了正则匹配、替换、提取等功能,简化了文本处理。 13. **JSON解析...
这通常涉及到读取原始文件,按照原编码解码,然后用新编码重新编码并写入新的文件。 3. **读取指定编码的文件**:该工具类可能提供一个方法,接受用户提供的编码参数,读取相应编码的文件内容,避免因误判编码导致...
总的来说,"UrlEncodeDecode解码编码工具"是一个实用的辅助工具,对于那些经常处理URL编码和解码问题的人来说,它能极大地提高工作效率,简化工作流程。无论你是开发人员、网页设计师,还是需要处理URL的任何人,这...
12. **编码解码工具类**:如`CodecUtils`,包含了各种编码和解码方法,例如`encodeBase64()`用于Base64编码,`decodeHex()`用于十六进制解码。 13. **URL处理工具类**:`UrlUtils`可以帮助处理URL,包括构建、解析...
10. **编码解码工具类**:如EncodeDecodeUtil,可能包括Base64编码、Hex编码、URL编码等,对于数据传输和存储中的编码问题很有用。 11. **异常处理工具类**:如ExceptionUtil,可能包含异常的捕获、包装、转换等...
"加密,解密,Base64编码,解码,Hex的编码解码的工具类"是一个非常实用的软件模块,它提供了对数据进行不同形式处理的功能。让我们深入探讨一下这些概念以及它们在实际应用中的作用。 首先,我们来看加密。加密是...
本文将详细讲解"codeURL编码解码工具"的相关知识点,包括URL编码的原理、用途以及如何使用这类工具进行编码和解码。 URL(Uniform Resource Locator)即统一资源定位符,是互联网上的资源地址。它由协议类型、主机...
8. **编码解码工具类**:如`EncodingUtils`,用于进行字符编码和解码,处理字符集问题。在Java中,`Charset`和`StandardCharsets`类提供了多种字符集的转换。 9. **线程和并发工具类**:如`ThreadUtils`,包含线程...
在提供的压缩包中,"Html与Url编码解码工具.exe"很可能是一个实用的应用程序,集成了HTML编码和URL编码解码的功能。使用这样的工具,开发者和网络安全专家可以更方便地处理和检查网页内容以及URL,确保数据的准确性...
描述中提到的"Base64编码解码工具V1.5"是一款实用软件,能够帮助用户对Base64编码的数据进行解码。在使用过程中,用户只需选择"Base64"编码选项,软件就会自动处理输入的Base64字符串,将其还原为原始的二进制数据。...
9. **编码解码工具类(EncodingUtil)**:处理字符编码和解码问题,如GBK、UTF-8等。例如,`getBytes()`将字符串转换为特定编码的字节数组。 10. **正则表达式工具类(RegexUtil)**:提供了与正则表达式相关的操作,如...
总的来说,这个Delphi协议编解码工具类是一个实用的工具,它帮助开发者高效地处理数据的编码和解码任务,特别是在处理网络协议或需要从文本格式解析数字的场景下。通过深入理解和使用这个工具类,开发者可以更好地...
结合标签"jQuery库",我们可以推测这个工具类可能也与jQuery兼容,这意味着开发者可以利用jQuery的选择器和方法来选取元素,然后使用`js-htmlencode`对选中的内容进行编码或解码。例如: ```javascript var text = ...