JAVA UTF8编码环境下,按GBK编码截取固定长度报文内容。应用于服务端和客户端编码不一致,需要截取定长报文场景。
// .java文件编码,运行环境为UTF-8
String result = "一杯敬明天,一杯敬过往!";
System.out.println("result:" + result);
// 按GBK编码,截取固定长度报文内容 ,此处截取“敬过往”
// GBK编码下,一个中文、中文标点符号点两个字节长度
result = new String(result.getBytes("GBK"), 16, 6, "GBK");
System.out.println("result:" + result); //result:敬过往