URL编码(RFC3986协议)(仅代码)

URL编码(RFC3986协议)

    /**
     * 文本rawURL编码(RFC3986协议)
     * 
     * @param value
     * 			文本
     * @param charset
     * 			字符集
     * 
     * @return	编码结果
     * 
     * @throws SyncException
     * 			同步异常
     */
    public final String rawUrlEncoder(String value, String charset) throws SyncException {
    	
    	try {
    		// JAVAUrl编码
    		String urlEncoderStr = URLEncoder.encode(value, charset);
    		// 文本URL编码(空格、~处理)
    		// 空格:会被UrlEncoder转成+,《RFC3986》编码为%20
    		// ~:会被UrlEncoder编码为%7E,《RFC3986》允许存在
    		return urlEncoderStr.replace("+", "%20").replace("%7E", "~");
    	// 发生异常
    	} catch(UnsupportedEncodingException e) {
			// 异常消息抛出
			throw createErrorInfo(strAppend("文本内容【", value, "】rawURL编码失败。"), log, e);
    	}
    }

Base64编码

    /**
     * 文本Base64编码
     * 
     * @param value
     * 			文本
     * @param charset
     * 			字符集
     * 
     * @return	编码结果
     * 
     * @throws SyncException
     * 			同步异常
     */
    public final String base64Encoder(String value, String charset) throws SyncException {
    	
    	try {
    		// 文本BASE64编码
    		return new String(Base64.encodeBase64(value.getBytes(charset)), charset);
    	// 发生异常
    	} catch(UnsupportedEncodingException e) {
			// 异常消息抛出
			throw createErrorInfo(strAppend("文本内容【", value, "】Base64编码失败。"), log, e);
    	}
    }

文本URL编码

/**
 * 文本URL编码
 * 
 * @param value
 * 			文本
 * @param charset
 * 			字符集
 * 
 * @return	编码结果
 * 
 * @throws SyncException
 * 			同步异常
 */
public final String urlEncoder(String value, String charset) throws SyncException {
	
	try {
		// 文本URL编码
		return URLEncoder.encode(value, charset);
	// 发生异常
	} catch(UnsupportedEncodingException e) {
		// 异常消息抛出
		throw createErrorInfo(strAppend("文本内容【", value, "】URL编码失败。"), log, e);
	}
}

你可能感兴趣的:(编码,Java,编码)