$.Encodes.java Source code

Java tutorial

Introduction

Here is the source code for $.Encodes.java

Source

/**
 * Copyright (c) 2005-2012 springside.org.cn
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 */
package ${package}.common.utils.others;

    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.lang3.StringEscapeUtils;

    /**
     * ??????.
     * 
     * 1.Commons-Codec hex/base64 ?
     * 2.base62 ?
     * 3.Commons-Langxml/html escape
     * 4.JDK??URLEncoder
     * 
     * @author calvin
     */
    public class Encodes {

        private static final String DEFAULT_URL_ENCODING = "UTF-8";
        private static final char[] BASE62 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
                .toCharArray();

        /**
         * Hex?.
         */
        public static String encodeHex(byte[] input) {
            return Hex.encodeHexString(input);
        }

        /**
         * Hex?.
         */
        public static byte[] decodeHex(String input) {
            try {
                return Hex.decodeHex(input.toCharArray());
            } catch (DecoderException e) {
                throw Exceptions.unchecked(e);
            }
        }

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

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

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

        /**
         * Base62?
         */
        public static String encodeBase62(byte[] input) {
            char[] chars = new char[input.length];
            for (int i = 0; i < input.length; i++) {
                chars[i] = BASE62[((input[i] & 0xFF) % BASE62.length)];
            }
            return new String(chars);
        }

        /**
         * Html ?.
         */
        public static String escapeHtml(String html) {
            return StringEscapeUtils.escapeHtml4(html);
        }

        /**
         * Html ?.
         */
        public static String unescapeHtml(String htmlEscaped) {
            return StringEscapeUtils.unescapeHtml4(htmlEscaped);
        }

        /**
         * Xml ?.
         */
        public static String escapeXml(String xml) {
            return StringEscapeUtils.escapeXml(xml);
        }

        /**
         * Xml ?.
         */
        public static String unescapeXml(String xmlEscaped) {
            return StringEscapeUtils.unescapeXml(xmlEscaped);
        }

        /**
         * URL ?, EncodeUTF-8.
         */
        public static String urlEncode(String part) {
            try {
                return URLEncoder.encode(part, DEFAULT_URL_ENCODING);
            } catch (UnsupportedEncodingException e) {
                throw Exceptions.unchecked(e);
            }
        }

        /**
         * URL ?, EncodeUTF-8.
         */
        public static String urlDecode(String part) {

            try {
                return URLDecoder.decode(part, DEFAULT_URL_ENCODING);
            } catch (UnsupportedEncodingException e) {
                throw Exceptions.unchecked(e);
            }
        }
    }