我有一个用 java spring 制作的简单 api,它接收文本并将其保存在数据库中。以及一个 javascript 中的应用程序,用于格式化文本并将其发送到 api。
我有多种语言的文本(中文、日文......),并且我遇到了特殊字符的问题,所以我在 javascript 中使用encodeURI 将文本发送到 api。
当 api 收到文本时,我需要进行编码,将原始文本保存在数据库中。
但是当我必须将文本返回到前端应用程序时,我需要首先再次对其进行编码。
在发送到 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
block.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)