Java处理\x开头的编码(java处理nginx的日志)

在分析nginx的post的日志的时候,由于之前没有添加 escape=json ,造成会产生\x22等字符,在网上查找后URL.decode和StringEscapeUtils都无法直接解决,直接用javascript的decodeURIComponent是可以解决,但是大批量的文件无法解决,后来找到解决办法,是需要先替换:

public class ShitEscape {
    public static void main(String[] args) throws UnsupportedEncodingException{
            String str = "{\\x22rc\\x22:0,\\x22msg\\x22:\\x22success\\x22,\\x22transferrate\\x22:\\x2245301\\x22}]}}";
            String rep = str.replaceAll("\\\\x", "%");
            String decode = URLDecoder.decode(rep);
            System.out.println(decode);
    }
}

标签: none

添加新评论