nginx日志中文变成类型\xE9\xA6\x96\xE9\xA1\xB5-\xE6\x8E\xA8\xE8\x8D\x90的东西

感谢 http://my.oschina.net/leejun2005/blog/106791 

代码如下:

public class App {
	public static String str2Hex(String str) throws UnsupportedEncodingException {
		String hexRaw = String.format("%x", new BigInteger(1, str.getBytes("UTF-8")));
		char[] hexRawArr = hexRaw.toCharArray();
		StringBuilder hexFmtStr = new StringBuilder();
		final String SEP = "\\x";
		for (int i = 0; i < hexRawArr.length; i++) {
			hexFmtStr.append(SEP).append(hexRawArr[i]).append(hexRawArr[++i]);
		}
		return hexFmtStr.toString();
	}

	public static String hex2Str(String str) throws UnsupportedEncodingException {
		String strArr[] = str.split("\\\\"); // 分割拿到形如 xE9 的16进制数据
		byte[] byteArr = new byte[strArr.length - 1];
		for (int i = 1; i < strArr.length; i++) {
			Integer hexInt = Integer.decode("0" + strArr[i]);
			byteArr[i - 1] = hexInt.byteValue();
		}

		return new String(byteArr, "UTF-8");
	}

	public static void main(String[] args) throws UnsupportedEncodingException {

		System.out.println(str2Hex("中国1a23"));
		System.out.println(hex2Str(str2Hex("中国1a23")));
		System.out.println(hex2Str("\\xE9\\xA6\\x96\\xE9\\xA1\\xB5\\xE6\\x8E\\xA8\\xE8\\x8D\\x90"));
	}

}

 

这里有个很恶心的问题。

只能转换成纯中文的, 也就是说如果待转换的字符串中,存在正常的符号数字字母时,会报错  

转载于:https://www.cnblogs.com/hark0623/p/5715726.html

### upload ### request_url: http://10.81.7.91:30009/openapi/flames/file/v2/upload?authorization=aG1hYyBhcGlfa2V5PSIzMDIyNjZBMkREMkI0QTA4ODJDMSIsIGFsZ29yaXRobT0iaG1hYy1zaGEyNTYiLCBoZWFkZXJzPSJob3N0IGRhdGUgcmVxdWVzdC1saW5lIiwgc2lnbmF0dXJlPSJ3Yi9BZmZRQXduMUFsT1ZqcjJHRjRyYVJiaVZyV3dSeDZNTWRkK0sySzZVPSI%3D&date=Mon%2C+17+Mar+2025+01%3A43%3A05+GMT&host=10.81.7.91&bodyId=xzrbcess827h3m9jpyry5o0rxnvwchi6 response: {"header":{"code":0,"message":"success","traceId":"fbfzzaje@turing-planet-v10@turing-planet@2808975"},"payload":{"id":"TOSS_VjowMixCTjpmbGFtZXMsT046Y3pNNkx5OXdiR0Z1WlhSVWFXUXZjR3hoYm1WMEx6SXdNalV3TXpFM0wwSkhSbG93TUVFd01pNWtiMk09_TOSS"}} ### generate ### request_url: ws://10.81.7.91:30009/openapi/flames/api/v2/chat?authorization=aG1hYyBhcGlfa2V5PSIzMDIyNjZBMkREMkI0QTA4ODJDMSIsIGFsZ29yaXRobT0iaG1hYy1zaGEyNTYiLCBoZWFkZXJzPSJob3N0IGRhdGUgcmVxdWVzdC1saW5lIiwgc2lnbmF0dXJlPSI5N041czJaVmNiNVJRK0FWR1RMTU0vTUpNakp2VzVuYmhsT2RtL0N0b1NzPSI%3D&date=Mon%2C+17+Mar+2025+01%3A43%3A06+GMT&host=10.81.7.91&bodyId=xzrbcess827h3m9jpyry5o0rxnvwchi6 ### on_error: Handshake status 401 Unauthorized -+-+- {&#39;server&#39;: &#39;nginx/1.21.5&#39;, &#39;date&#39;: &#39;Mon, 17 Mar 2025 01:43:59 GMT&#39;, &#39;content-type&#39;: &#39;application/json;charset=UTF-8&#39;, &#39;content-length&#39;: &#39;70&#39;, &#39;connection&#39;: &#39;keep-alive&#39;, &#39;cache-control&#39;: &#39;no-cache, no-store, max-age=0, must-revalidate&#39;, &#39;pragma&#39;: &#39;no-cache&#39;, &#39;expires&#39;: &#39;0&#39;, &#39;x-content-type-options&#39;: &#39;nosniff&#39;, &#39;x-frame-options&#39;: &#39;DENY&#39;, &#39;x-xss-protection&#39;: &#39;1 ; mode=block&#39;, &#39;referrer-policy&#39;: &#39;no-referrer&#39;} -+-+- b&#39;{"code":401,"data":null,"message":"\xe8\xaf\xb7\xe6\xb1\x82\xe6\x8e\xa5\xe5\x8f\xa3\xe6\x9c\xaa\xe6\x8e\x88\xe6\x9d\x83\xe6\x88\x96\xe4\xb8\x8d\xe5\xad\x98\xe5\x9c\xa8"}&#39; ### on_close ### code: None msg: None这是报错信息
03-18
192.168.1.24 - - [19/May/2025:16:52:30 +0800] "GET / HTTP/1.1" 200 42738 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.45 - - [19/May/2025:16:52:32 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.45 - - [19/May/2025:16:52:33 +0800] "GET /favicon.ico HTTP/1.1" 404 3650 "http://192.168.1.221/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.24 - - [19/May/2025:16:52:33 +0800] "GET /favicon.ico HTTP/1.1" 404 3650 "http://192.168.1.221/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.24 - - [19/May/2025:17:02:18 +0800] "GET / HTTP/1.1" 200 42738 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.24 - - [19/May/2025:17:07:30 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.228 - - [19/May/2025:17:09:16 +0800] "\x16\x03\x01\x00\xBD\x01\x00\x00\xB9\x03\x03xu\xF1\x82/\x10\x17\xF1y:\x81\x9B\x00]pG\x0Bgu\x80\xAD\x7F\xE4i\xA6|\x10\x18\x86\xC2\x9CX\x00\x008\xC0,\xC00\x00\x9F\xCC\xA9\xCC\xA8\xCC\xAA\xC0+\xC0/\x00\x9E\xC0$\xC0(\x00k\xC0#\xC0&#39;\x00g\xC0" 400 157 "-" "-" "-" 192.168.1.228 - - [19/May/2025:17:09:16 +0800] "\x16\x03\x01\x00\xBD\x01\x00\x00\xB9\x03\x037X%\x95\x0F\xE6\x0C\xCC\x0EXus\x7F\xBF\x05\x92aK;\xDFq\xD2\xD0 >\xD3\xB2D\xD5F\x85l\x00\x008\xC0,\xC00\x00\x9F\xCC\xA9\xCC\xA8\xCC\xAA\xC0+\xC0/\x00\x9E\xC0$\xC0(\x00k\xC0#\xC0&#39;\x00g\xC0" 400 157 "-" "-" "-" 192.168.1.228 - - [19/May/2025:17:09:17 +0800] "\x16\x03\x01\x00\xBD\x01\x00\x00\xB9\x03\x03k\xD4Z$\xA0j+q{\x0B&#39;\xD2J\xC5\x9B\x01\x09\x11" 400 157 "-" "-" "-" 192.168.1.228 - - [19/May/2025:17:09:55 +0800] "\x16\x03\x01\x00\xBD\x01\x00\x00\xB9\x03\x03MN\xC8%d\xD6\x04\x0C\x85\xEF\x96;\xAE\x5C\xA5\x8Bw\xF1\x86\x98\x03%_P\xD7*\xE3\xC1\xB7\x9F\xE7@\x00\x008\xC0,\xC00\x00\x9F\xCC\xA9\xCC\xA8\xCC\xAA\xC0+\xC0/\x00\x9E\xC0$\xC0(\x00k\xC0#\xC0&#39;\x00g\xC0" 400 157 "-" "-" "-" 192.168.1.228 - - [19/May/2025:17:10:47 +0800] "GET / HTTP/1.0" 200 42738 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 192.168.1.228 - - [19/May/2025:17:10:49 +0800] "GET / HTTP/1.0" 200 42738 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0" "-" 报错信息
05-21
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值