`

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

相关推荐

    各种格式的编码解码工具类分享(hex解码 base64编码)

    本篇文章将详细介绍几种常见的编码解码方式,包括Hex编码、Base64编码以及URL编码,并提供一个集成Apache Commons Codec、Commons Lang和Java JDK的实用工具类`EncodeUtils`。 ### 1. Hex编码与解码 Hex编码是一种...

    Base64编码解码工具.exe

    Base64编码解码工具.exe

    UTF7 编码及解码工具

    UTF-7 编码解码工具.exe 是一个专门用于处理UTF7编码的软件工具,可以帮助开发者或安全研究人员进行编码和解码的操作。通过这个工具,用户可以将UTF7编码的字符串转换为可读的Unicode格式,反之亦然。这对于理解、...

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

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

    非常好用base64编码解码工具

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

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

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

    GSMA6芯片的中文PDU编码解码工具

    《GSMA6芯片中文PDU编码解码工具详解》 在移动通信领域,GSM(Global System for Mobile Communications,全球移动通信系统)是最早的数字蜂窝网络标准之一,广泛应用于全球。而在GSM系统中,短信服务(Short ...

    codeURL编码解码工具

    本文将详细讲解"codeURL编码解码工具"的相关知识点,包括URL编码的原理、用途以及如何使用这类工具进行编码和解码。 URL(Uniform Resource Locator)即统一资源定位符,是互联网上的资源地址。它由协议类型、主机...

    Base64编码解码工具v1.6

    这个“Base64编码解码工具v1.6”是针对移动开发人员设计的一款实用工具,它能够方便地处理Base64编码和解码操作,以解决在开发过程中遇到的相关问题。 Base64编码的基础是将每3个字节(24位)的数据转换为4个Base64...

    Base64编码解码工具.zip

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

    Hex 编码/解码工具下载

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

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

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

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

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

    URL编码解码工具(URLEnCodeURLDeCode)

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

    基于Java实现的常用编码解码格式设计源码

    本文档介绍了一个基于Java实现的编码解码工具包源码,该工具包涵盖了多种编码解码格式的实现,它不仅简化了数据的编码和解码流程,而且为开发者提供了学习和使用这些技术的便利。 首先,编码解码工具包包含Java...

    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包提供了线程池、同步工具...

    字符编码解码整合工具 native2ascii.exe

    字符编码解码整合工具字符编码解码整合工具字符编码解码整合工具

    java各种工具类:精确的数学运算、将String进行base64编码解码、树的递归、判断是否为空等

    java各种工具类:精确的数学运算、将String进行base64编码解码、树的递归等 包含:ArithmeticUtils、Base64Util、BitConverterUtil、BuildTreeFor1077、CaculateDistanceUtil、CloseUtil、ConvertUtil、...

    Java常用工具类大全,工作5年精心整理(最新版)

    提供了很丰富的java工具类,包括字符串、数字、日期、文件、图像、编码解码、校验工具、文档操作等。 主要分为以下几种: - 1.通用操作类,例如String、数字、日期、各种校验等 - 2.文档操作,excel、pdf等 - 3.加密...

Global site tag (gtag.js) - Google Analytics