Commit 70de8ee190c516b46f808a302678485fbc611e0a

Authored by 芯火源
1 parent 085c6e05

refactor: 乱码问题

1、字节数组转字符串乱码问题解决,兼容16进制
2、命令下发内容一致性问题。
... ... @@ -5,6 +5,7 @@ import org.apache.commons.lang3.ArrayUtils;
5 5
6 6 import java.io.*;
7 7 import java.nio.charset.Charset;
  8 +import java.util.regex.Pattern;
8 9
9 10 /**
10 11 * @Description :数据类型转换工具类
... ... @@ -269,6 +270,22 @@ public class ByteUtils {
269 270 return sb.toString();
270 271 }
271 272
  273 + private static final String messageRegular = "^[A-Za-z0-9!@#$%^&*()]+$";
  274 + public static String bytesToStr(byte[] bs){
  275 + String result = getString(bs, ByteUtils.UTF_8);
  276 + if(!Pattern.compile(messageRegular).matcher(result).matches()){
  277 + result = bytesToHex(bs);
  278 + }
  279 + return result;
  280 + }
  281 +
  282 + public static byte[] strToBytes(String str){
  283 + if(Pattern.compile(messageRegular).matcher(str).matches()){
  284 + return hexStr2Bytes(str);
  285 + }
  286 + return getBytes(str,ByteUtils.UTF_8);
  287 + }
  288 +
272 289 /**
273 290 * 字节数组取前len个字节转16进制字符串
274 291 *
... ...