Can';我无法理解这段java代码
我正在开发一个遗留系统,我遇到了一段我无法理解的代码Can';我无法理解这段java代码,java,Java,我正在开发一个遗留系统,我遇到了一段我无法理解的代码 String note = URLDecoder.decode(URLEncoder.encode( message.replaceAll("\\<.*?\\>", ""), "UTF-8").replace("%0D%0A", "<br>"), "UTF-8"); String note=urldecover.decode(urlcodever.enco
String note = URLDecoder.decode(URLEncoder.encode(
message.replaceAll("\\<.*?\\>", ""),
"UTF-8").replace("%0D%0A", "<br>"), "UTF-8");
String note=urldecover.decode(urlcodever.encode(
message.replaceAll(“\\”,“),
“UTF-8”)。替换“%0D%0A”和“
”,“UTF-8”);
这是做什么的,为什么它被编码,然后再次解码。
仅供参考:此“消息”被附加到发送的电子邮件中。从编码角度来看,分解为以下代码可能有助于更好地理解:
String updatedMessage = message.replaceAll("\\<.*?\\>", "");
System.out.println(updatedMessage );
String encodedMessage = URLEncoder.encode(updatedMessage ,"UTF-8");
System.out.println(encodedMessage );
String updatedEncodedMessage = encodedMessage .replace("%0D%0A", "<br>");
System.out.println(updatedEncodedMessage );
String note = URLDecoder.decode(updatedEncodedMessage ,"UTF-8");
System.out.println(note );
String updatedMessage=message.replaceAll(“\\”,”);
System.out.println(更新消息);
字符串encodedMessage=URLEncoder.encode(updatedMessage,“UTF-8”);
System.out.println(encodedMessage);
字符串UpdatedCodedMessage=encodedMessage.replace(“%0D%0A”,“
”);
System.out.println(updatedCodedMessage);
String note=urldecker.decode(updatedCodedMessage,“UTF-8”);
系统输出打印项次(注);
没有涉及正则表达式,只是一些字符串替换。enter的第一个替换是将
CRLF
(carret返回和换行符号)替换为
标记第二个replaceAll删除所有标记(如
)UTF-8是用于将原始字节解码/编码为实际字符的字符集编码。WWWC(万维网联盟)认为应该使用UTF-8。看来作者不知道
\r\n
@realponsign:不,这不是多余的。看起来像是试图剥离HTML标记,然后用换行标记替换CRLF。这真的很粗略。。。如果输入来自不受信任的源,最好使用或类似的方法对其进行清理。您可能应该参考StackOverflow上的这篇文章:@realpoint,不,如果文本xyz
,则模式
将匹配
,其中
将匹配整个输入字符串。