使用 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));
更新于