`

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
分享到:
评论

相关推荐

    UTF-7 编码解码工具

    UTF-7,编码解码工具,可直接用于跨站脚本攻击xss

    base编码解码工具.zip

    在提供的"base编码解码工具.zip"压缩包中,包含了对这些Base编码的加解密功能。这些工具可能包含独立的程序或者是一套集成在GUI界面中的实用程序,允许用户输入原始二进制数据或已编码的字符串,然后进行相应的编码...

    base64编码解码离线工具

    在这个"base64编码解码离线工具"中,用户可以方便地对数据进行Base64编码和解码,而无需依赖互联网连接。这对于在无网络环境下处理数据或者保护隐私非常有用。开发者已经优化了工具的功能,增加了对换行符的支持。在...

    Base64编码解码工具

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

    PDU 编解码工具

    标题中的“PDU 编解码工具”是指用于处理PDU(Protocol Data Unit)格式的软件,这种格式常用于SMS(Short Message Service)短信服务。PDU是GSM(Global System for Mobile Communications)网络中短信数据传输的...

    UrlEncodeDecode解码编码工具(双向)

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

    短信UCS编码或解码工具

    在使用"短信UCS编码或解码工具"时,开发人员可以方便地处理不同编码格式之间的转换,比如从用户输入的文本(可能是UTF-8编码)转换为适合短信传输的7位编码,或者从接收到的PDU格式短信解码成可读的文本。这种工具...

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

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

    短信pdu编码解码_短信_短信PDU编码_pdu_

    短信PDU解码则是上述过程的逆操作,将接收到的PDU格式的短信恢复成人类可读的文本格式。解码过程包括识别和解析PDU中的各个字段,如电话号码、短信类型、短信内容等。此外,还需要正确处理字符集和校验和,以确保...

    jaava和jsp工具类

    [工具类] 成各种密码随机串,加密解密,编码解码,执行url.java [工具类] 读取、打印输出、保存xml .java [工具类] 获得汉字拼音首字母的java工具类 .java [工具类] 获取绝对路径 .java [工具类] 记录log日志...

    jsfuck自动解码工具.html

    jsfuck自动解码工具

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

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

    base64编码解码工具源码

    在这个“base64编码解码工具源码”中,我们可以期待找到一个实现了Base64编码和解码功能的应用程序。这个工具具有用户界面,使得非技术用户也能方便地对数据进行编码和解码操作。用户界面可能包含输入框用于输入待...

    java检测编码工具类

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

    Hex 编码/解码工具下载

    综上所述,Hex编码/解码工具是IT从业者必备的实用工具之一,能够帮助我们理解和处理二进制数据,尤其在处理和解析底层数据结构时。通过下载并使用这样的工具,我们可以更有效地进行数据的转换、分析和调试,提高工作...

    深度学习自然语言处理-编码解码器的妙用

    深度学习工具和库:介绍实现编码解码器常用的深度学习工具和库,如TensorFlow、PyTorch等。 模型训练和调优:详细介绍如何训练编码解码器模型,以及如何调整模型参数以提高性能。 模型评估和测试:说明如何评估模型...

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

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

    java代码:java工具类-javaUtils多种工具类-正则工具-base64工具等

    在这个压缩包文件"javaUtils"中,我们可以期待找到一系列实用的工具类,比如正则表达式处理工具和Base64编码解码工具。下面将详细介绍这两个重要的工具类以及它们在Java开发中的应用。 1. 正则工具类: 正则表达式...

    Java自动识别文件字符编码工具类.rar

    Java自动识别文件字符编码工具类 参考博客 https://blog.csdn.net/superbeyone/article/details/103036914 使用方式: String encode = EncodingDetect.getFileEncode(geoJsonFile); log.info("系统检测到文件[ {}...

    DVD编码解码器

    标题中的“DVD编码解码器”指的是用于处理DVD格式视频的软件工具,它包含了编码和解码的功能。在数字媒体领域,编码是将原始视频和音频数据转化为特定格式(如DVD格式)的过程,以便存储、传输或播放。解码则是相反...

Global site tag (gtag.js) - Google Analytics