`

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

    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的任何人,这...

    PDU 短信编解码工具(升级版)

    PDU短信编解码工具是IT领域中一种实用的软件...总的来说,PDU短信编解码工具通过其强大的功能,极大地简化了与PDU编码相关的开发工作,提升了开发效率,对于从事短信服务相关开发的工程师来说,是一个不可或缺的助手。

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

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

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

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

    URL编码解码工具 反向分析URL地址

    URL编码与解码是互联网通信中的重要环节,它涉及到数据在网络中传输时的标准化..."URL编码解码工具.exe" 提供了一个直观、便捷的方式来操作和分析URL,对于IT从业者,尤其是Web开发者来说,是一个非常实用的辅助工具。

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

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

    base64编码解码工具源码

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

    java检测编码工具类

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

    文本Base64编码解码工具

    一个早些年写的Base64的工具,可以对文本进行编码解码,功能简单到只有这个功能。

    万能 获取编码得工具类

    根据任意格式的文件,获取文件编码,万能的工具类,使用简单

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

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

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

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

    语音pcm编码解码

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

    ExoPlayer视频播放工具类

    它还允许自定义解码器和渲染器,适应不同的硬件和编码需求。 至于“mediaplayer”这个文件,可能是示例代码、资源文件或者测试用的媒体文件。在实际项目中,这可能会包含一个简单的Android MediaPlayer类的实现,...

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

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

    JPEG 格式文件解码工具

    对于开发人员而言,理解JPEG解码的过程和工具的使用,有助于在编程中正确处理这种格式的图像,比如在图像编辑软件、网络传输、数据库存储等领域。同时,对于普通用户,了解JPEG解码也有助于理解为什么某些图像在压缩...

Global site tag (gtag.js) - Google Analytics