`

EncodeUtil(各种格式的编码解码工具类)

阅读更多

各种格式的编码解码工具类.

集成Commons-Codec,Commons-Lang及JDK提供的编解码方法

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;

/**
 * 各种格式的编码加码工具类.
 * 
 * 集成Commons-Codec,Commons-Lang及JDK提供的编解码方法.
 * 
 *  
 */
public class EncodeUtils {

	private static final String DEFAULT_URL_ENCODING = "UTF-8";

	/**
	 * Hex编码.
	 */
	/*public static String hexEncode(byte[] input) {
		return Hex.encodeHexString(input);
	}*/

	/**
	 * Hex解码.
	 */
	public static byte[] hexDecode(String input) {
		try {
			return Hex.decodeHex(input.toCharArray());
		} catch (DecoderException e) {
			throw new IllegalStateException("Hex Decoder exception", e);
		}
	}

	/**
	 * Base64编码.
	 */
	public static String base64Encode(byte[] input) {
		return new String(Base64.encodeBase64(input));
	}

	/**
	 * Base64编码, URL安全(将Base64中的URL非法字符�?,/=转为其他字符, 见RFC3548).
	 */
	public static String base64UrlSafeEncode(byte[] input) {
		return Base64.encodeBase64URLSafeString(input);
	}

	/**
	 * Base64解码.
	 */
	public static byte[] base64Decode(String input) {
		return Base64.decodeBase64(input);
	}

	/**
	 * URL 编码, Encode默认为UTF-8. 
	 */
	public static String urlEncode(String input) {
		try {
			return URLEncoder.encode(input, DEFAULT_URL_ENCODING);
		} catch (UnsupportedEncodingException e) {
			throw new IllegalArgumentException("Unsupported Encoding Exception", e);
		}
	}

	/**
	 * URL 解码, Encode默认为UTF-8. 
	 */
	public static String urlDecode(String input) {
		try {
			return URLDecoder.decode(input, DEFAULT_URL_ENCODING);
		} catch (UnsupportedEncodingException e) {
			throw new IllegalArgumentException("Unsupported Encoding Exception", 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);
	}
}

 

0
0
分享到:
评论

相关推荐

    Base64编码解码工具

    **提供的"Base64编码解码工具":** 这个压缩包中的"Base64"文件应该是一个工具程序,用户无需安装,解压后直接运行即可对Base64文本进行编码和解码操作。这样的工具对于开发者、网络管理员或者需要处理Base64数据的...

    base64-编码解码工具-python实现源码

    在提供的压缩包文件"base64"中,可能包含了更具体的Base64编码解码工具的实现,例如自定义类或扩展功能。这些源码可以作为学习和理解Base64编码工作原理的实例,也可以作为基础,帮助你开发更复杂的应用,如文件的...

    Base64编码解码工具.exe

    Base64编码解码工具.exe

    邮件编码解码工具 md5,base64,qp编码解码,非常小巧有用

    md5,base64,qp编码解码,非常小巧有用

    加密,解密,Base64编码,解码, Hex的编码解码 的工具类

    "加密,解密,Base64编码,解码,Hex的编码解码的工具类"是一个非常实用的软件模块,它提供了对数据进行不同形式处理的功能。让我们深入探讨一下这些概念以及它们在实际应用中的作用。 首先,我们来看加密。加密是...

    非常好用base64编码解码工具

    这个"非常好用base64编码解码工具"显然是一个能够帮助用户进行Base64编码和解码的软件。 Base64编码的原理是将每3个字节的数据拆分为4个6位的二进制数,然后将这些二进制数转换为对应的ASCII字符。由于2^6 = 64,...

    java验证文件真实格式和编码格式工具类

    `java验证文件真实格式和编码格式工具类` 提供的功能对于处理不同来源的文件至关重要,尤其是在处理用户上传的文件或跨平台数据交换时。通过`VerifyFileType.java` 和 `VerifyFileEncoder.java`,开发者可以确保正确...

    UrlEncodeDecode解码编码工具(双向)

    总的来说,"UrlEncodeDecode解码编码工具"是一个实用的辅助工具,对于那些经常处理URL编码和解码问题的人来说,它能极大地提高工作效率,简化工作流程。无论你是开发人员、网页设计师,还是需要处理URL的任何人,这...

    Base64编码解码工具.zip

    总之,"Base64编码解码工具.zip"包含了一个用Visual Studio和MFC开发的实用工具,能够方便地进行Base64编码和解码操作,对于开发者和普通用户来说都是一个便捷的工具。通过理解Base64编码的原理和这个工具的工作机制...

    Base64编码解码工具V1.5

    描述中提到的"Base64编码解码工具V1.5"是一款实用软件,能够帮助用户对Base64编码的数据进行解码。在使用过程中,用户只需选择"Base64"编码选项,软件就会自动处理输入的Base64字符串,将其还原为原始的二进制数据。...

    URL编码解码工具(URLEnCodeURLDeCode)

    URL编码解码工具(URLEnCodeURLDeCode) 非常好用~ 下载使用

    pdu模式短信编码解码程序

    pdu模式短信编码解码程序 包括gb2312,Unicode码表转换等,非常有用

    随波逐流CTF编码工具 V4.1 免更新版

    [随波逐流]CTF编码工具:一站式编码解码解决方案,您的全能编码解码助手。 作为一款功能强大且操作便捷的编码解码神器,[随波逐流]CTF编码工具是网络安全、密码学及信息技术领域用户的首选。它汇聚了众多经典与创新...

    50个左右的JAVA工具类,相对比较全

    8. **编码解码工具类**:如Base64编码解码,可以在Java 8的java.util.Base64中找到,或者Apache Commons Codec库提供了更多编码方式。 9. **线程并发工具类**:Java的java.util.concurrent包提供了线程池、同步工具...

    java检测编码工具类

    Java编码检测工具类是Java开发中非常实用的一个组件,它能够帮助开发者准确地识别和处理各种文件的编码格式。在处理跨平台或者不同系统间的数据交换时,编码问题常常成为困扰,因为不同的操作系统和程序可能使用不同...

    808协议的编码解码

    这段时间公司在做808协议的编码与解码,就专门做了一个工具类,方便自己的调用,有byte,Word,DWord,BCD类型的编码解码,还有普通的byte,int,string转换/2进制10进制16进制....等等

    Android快速开发系列 10个常用工具类 程序源码

    在Android应用开发中,工具类(Utils)是程序员经常使用的辅助模块,它们包含了一系列静态方法,用于处理各种常见的任务,从而提高代码的复用性和可维护性。本资源"Android快速开发系列 10个常用工具类 程序源码...

    语音pcm编码解码

    总之,语音PCM编码解码是音频数字化的核心技术之一,μ律PCM作为其中的一种编码方式,具有良好的性能和广泛应用。通过学习和实践,我们可以更好地掌握这些基础知识,为音频处理、通信系统设计等领域打下坚实的基础。

    简单的brainfuck解码工具

    简单的brainfuck解码工具,将brainfuck编码输入即可获得明文。

    base64编码解码工具

    我编写打包的一个小工具 方便开发时查看base64加密字符串用的,希望可以帮助大家。

Global site tag (gtag.js) - Google Analytics