net.xby1993.common.util.io.EncodeUtil.java Source code

Java tutorial

Introduction

Here is the source code for net.xby1993.common.util.io.EncodeUtil.java

Source

/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
package net.xby1993.common.util.io;

import java.io.UnsupportedEncodingException;
import java.net.URLDecoder;
import java.net.URLEncoder;

import org.apache.commons.io.Charsets;
import org.apache.commons.lang3.StringEscapeUtils;

import com.google.common.io.BaseEncoding;

/**
 * hex/base64 ??Guava, ?Commmon Codec?
 */
public class EncodeUtil {

    /**
     * Hex?, byte[]?StringABCDEF?.
     */
    public static String encodeHex(byte[] input) {
        return BaseEncoding.base16().encode(input);
    }

    /**
     * Hex?, String?byte[].
     * 
     * IllegalArgumentException.
     */
    public static byte[] decodeHex(CharSequence input) {
        return BaseEncoding.base16().decode(input);
    }

    /**
     * Base64?.
     */
    public static String encodeBase64(byte[] input) {
        return BaseEncoding.base64().encode(input);
    }

    /**
     * Base64?.
     * 
     * ??IllegalArgumentException
     */
    public static byte[] decodeBase64(CharSequence input) {
        return BaseEncoding.base64().decode(input);
    }

    /**
     * Base64?, URL.(Base64URL?'+''/''-''_', ?RFC3548).
     */
    public static String encodeBase64UrlSafe(byte[] input) {
        return BaseEncoding.base64Url().encode(input);
    }

    /**
     * Base64?, URL(Base64URL?'+''/''-''_', ?RFC3548).
     * 
     * ??IllegalArgumentException
     */
    public static byte[] decodeBase64UrlSafe(CharSequence input) {
        return BaseEncoding.base64Url().decode(input);
    }

    /**
     * URL ?, EncodeUTF-8.
     * 
     * ?URL?URL?
     */
    public static String urlEncode(String part) {
        try {
            return URLEncoder.encode(part, "UTF-8");
        } catch (UnsupportedEncodingException ignored) {
            return null;
        }
    }

    /**
     * URL ?, EncodeUTF-8. ?URL?URL?
     */
    public static String urlDecode(String part) {
        try {
            return URLDecoder.decode(part, "UTF-8");
        } catch (UnsupportedEncodingException e) {
            return null;
        }
    }

    /**
     * Xml???XML1.1?.
     * 
     *  "bread" & "butter"  "bread" & "butter"
     */
    public static String escapeXml(String xml) {
        return StringEscapeUtils.escapeXml11(xml);
    }

    /**
     * Xml?XML??.
     * 
     *  "bread" & "butter" "bread" & "butter"
     */
    public static String unescapeXml(String xml) {
        return StringEscapeUtils.unescapeXml(xml);
    }

    /**
     * Html???HTML4?.
     * 
     *  "bread" & "butter"  "bread" & "butter"
     */
    public static String escapeHtml(String html) {
        return StringEscapeUtils.escapeHtml4(html);
    }

    /**
     * Html?HTML4???.
     * 
     *  "bread" & "butter""bread" & "butter"
     */
    public static String unescapeHtml(String html) {
        return StringEscapeUtils.unescapeHtml4(html);
    }
}