Java 删除Hexa消息的一部分以获得好消息

Java 删除Hexa消息的一部分以获得好消息,java,xml,string,del,Java,Xml,String,Del,我尝试使用以下方法将十六进制字符字符串转换为字符串: public String HexToString(String inputString){ StringBuilder output = new StringBuilder(); for (int i = 0; i < inputString.length(); i+=2) { String str = inputString.substring(i, i+2); output.appe

我尝试使用以下方法将十六进制字符字符串转换为字符串:

public String HexToString(String inputString){
    StringBuilder output = new StringBuilder();
    for (int i = 0; i < inputString.length(); i+=2) {
        String str = inputString.substring(i, i+2);
        output.append((char)Integer.parseInt(str, 16));
    }
    return output.toString();
}
公共字符串HexToString(字符串输入字符串){
StringBuilder输出=新的StringBuilder();
对于(int i=0;i
输入为:

“4D442020000000020000000000000000008FFFFFFFF000000022200‌​0001b54d514852463220‌​20000000000000000141‌​4D5120434D504C333‌​202020020D75DB05811‌​51D020000000000000000‌​00000000000000000000‌​00000000000000000000‌​00202020202020202020‌​20202020202020202020‌​20202020202020202020‌​20202020202020202020‌​20202020202020202043‌​4D504C3C333202020‌​20202020202020202020‌​20000000000000000000‌​00000000020202020202‌​02020202020202020202‌​02020202020202020202‌​02020202020200000001‌​c7765626c6f6……”

这个方法可行,但问题是我的消息包含奇怪的字符。 转换后,我在标题中收到以下字符:“µMQHRF2”


问题是如何删除此标题?我应该在消息是在Hexa上还是在转换后执行此操作?如何从字符串中删除这些字符

您可以使用apache commons库。这里是链接


您的输入看起来如何?你希望得到什么?我的输入是六边形("4D442020000000020000000000008FFFFFF0000000000000222000001B54D514852463220200000000001414D5120434D504C4C33320202002020D75DB0581151D02000000000000000000000000000000000000000000000000000020202002002002002002002002002002002002002002002002002002002002002002002002002040204D504C33320202002002002002002002002002002002002002002002002002002002002002002002002002002040204D504CC4C4C4C4C4C4C4C3C3C3C3333C3C333320202002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002000000000000000000020202020202020202020202020202020202020202020202020202020202020202000000001C7765626C6F6……)当我转换时,我一开始就收到了那些强字符,我想使用“MD”中的方法输出删除转换“4d44”,那么“µMQHRF2”是什么意思“在标题中?您的输入示例包含不可见的unicode字符,如以下代码段:-您应该去掉这些字符。此外,当您解码干净的版本时(
4D4420200000000200000000000008FFFFFFFFFF0000000000000222000001B54D5148524632202000000000001414D5120434D504C4CC33332020200200D75DB0581151D02000000000000000000000000000000000000000000000020202002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002002004D50C4C4C4C4C4C4C4C4C4C40200200200200200200200200200200200200200200200200200200200200200200200200200200200200200200200200000000000000000000 202020202020202020202020202020202020202020202020202020202020200000001C7765626C6F6
),作为字符串得到的不是字符串,但显然是来自二进制协议(来自某个消息队列)它不是我的目标!我想从消息中删除第一个字符!对于exemaple,消息是“xcds&é&&é”é&这是示例“我想删除这个”xcds&é&&é&é&é&é&é&é”é&“消息将是“这是示例”