如何使用 java spring 制作 encodeURI/decodeURI?
how to make encodeURI/decodeURI using java spring?
我有一个简单的 api 用 java spring 制作的,它接收文本并将其保存在数据库中。 javascript 中的应用程序格式化文本并将它们发送到 api。
我有多种语言的文本(中文、日文...),我遇到了特殊字符的问题,所以我在 java 脚本中使用 encodeURI 将文本发送到 api.
当 api 收到文本时,我需要进行编码,将原始文本保存在数据库中。
但是当我必须return 文本到前端应用程序时,我需要先重新编码它。
前端的编码文本,在发送到 api
之前
console.log(text);
//红灯亮起时, 麦克风处于静音状态
text = decodeURIComponent(text);
console.log(text);
//%E7%B4%85%E7%87%88%E4%BA%AE%E8%B5%B7%E6%99%82%2C%20%E9%BA%A5%E5%85%8B%E9%A2%A8%E8%99%95%E6%96%BC%E9%9D%9C%E9%9F%B3%E7%8B%80%E6%85%8B
所以我想知道如何使用 java spring.
进行 encodeURI / decodeURI 文本
您正在寻找java.net.URLDecoder
and java.net.URLEncoder
:
String decoded = URLDecoder.decode(s, StandardCharsets.UTF_8);
String encoded = URLEncoder.encode(result, StandardCharsets.UTF_8);
上述方法适用于 java 10 及更高版本。对于以前的版本,您必须将代码包装在 try-catch
块中。
我有一个简单的 api 用 java spring 制作的,它接收文本并将其保存在数据库中。 javascript 中的应用程序格式化文本并将它们发送到 api。
我有多种语言的文本(中文、日文...),我遇到了特殊字符的问题,所以我在 java 脚本中使用 encodeURI 将文本发送到 api.
当 api 收到文本时,我需要进行编码,将原始文本保存在数据库中。 但是当我必须return 文本到前端应用程序时,我需要先重新编码它。
前端的编码文本,在发送到 api
之前console.log(text);
//红灯亮起时, 麦克风处于静音状态
text = decodeURIComponent(text);
console.log(text);
//%E7%B4%85%E7%87%88%E4%BA%AE%E8%B5%B7%E6%99%82%2C%20%E9%BA%A5%E5%85%8B%E9%A2%A8%E8%99%95%E6%96%BC%E9%9D%9C%E9%9F%B3%E7%8B%80%E6%85%8B
所以我想知道如何使用 java spring.
进行 encodeURI / decodeURI 文本您正在寻找java.net.URLDecoder
and java.net.URLEncoder
:
String decoded = URLDecoder.decode(s, StandardCharsets.UTF_8);
String encoded = URLEncoder.encode(result, StandardCharsets.UTF_8);
上述方法适用于 java 10 及更高版本。对于以前的版本,您必须将代码包装在 try-catch
块中。