HTTP 通信 参数 16进制传递

HTTP通信中,发现有个参数是采用16进制传递的
传递参数如下:

p1=1658997962&
p2=000151A57CD6005827A00F88E49BBF297AD9D19C51D7D116FF8E81FB4
C6397377D27BDDFEF87AE50E27AA9364CD44EE4F2D87CE9147EEA291F452
A679D16C70A442C8C01584BD4A87C880D76CEA25309CF0B1E5D12EC5B37B
CCDF91406644109

p2参数的算法如下,即将byte[]转成了16进制:

 public static String a(byte[] paramArrayOfByte)
  {
    char[] arrayOfChar = new char[2 * paramArrayOfByte.length];
    for (int i = 0; i < paramArrayOfByte.length; ++i)
    {
      arrayOfChar[(i * 2)] = "0123456789ABCDEF".charAt(0xF & paramArrayOfByte[i] >> 4);
      arrayOfChar[(1 + i * 2)] = "0123456789ABCDEF".charAt(0xF & paramArrayOfByte[i]);
    }
    return new String(arrayOfChar);
  }

提问:服务端如何验证这16进制的参数p2,而且16进制转成String后是乱码

请问你的问题解决了么,我碰到和你一样的问题!