使用 Redis 存储 URL 如果存在特殊符号,需要提前编码。
# 介绍
REST 风格 API 传递多个参数需要 &
符号分割键值对,如果参数本身包含分割符号 &
,解析参数就会产生歧义。同时,网络传输遵循网络标准 RFC 协议,该协议不支持直接传输中文和特殊字符,必须进行编码传输。
# URLEncoder
import java.net.URLEncoder; | |
import java.net.URLDecoder; | |
String encode = URLEncoder.encode(str, "UTF-8"); | |
String decode = URLDecoder.decode(str, "UTF-8"); |
# Base64
import java.util.Base64; | |
String encode = new String(Base64.getEncoder().encode(str.getBytes())); | |
String decode = new String(Base64.getDecoder().decode(encode)); |