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

1 篇文章 0 订阅

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", "~");
    		return urlEncoderStr.replace("+", "%20").replace("%7E", "~").replace("*", "%2A");
    	// 发生异常
    	} 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);
	}
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值