URL編碼(RFC3986協議)(僅程式碼)
阿新 • • 發佈:2018-12-29
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); } }