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);
}
}