org.apache.commons.codec.DecoderException:奇数个字符

Rah*_*l P 10 javascript java apache encode

在url参数中发送十六进制字符串并尝试将其转换为服务器端的字符串.使用以下javascript编码代码转换用户输入字符串

function encode(string) {
     var number = "";
        var length = string.trim().length;
        string = string.trim();
        for (var i = 0; i < length; i++){
            number += string.charCodeAt(i).toString(16);
            }
        return number;
}
Run Code Online (Sandbox Code Playgroud)

现在我试图在java代码中解析419俄语字符的十六进制字符串,?如下所示

  byte[] bytes = "".getBytes();

   try {
        bytes = Hex.decodeHex(hex.toCharArray());
        sb.append(new String(bytes,"UTF-8"));
    } catch (DecoderException e) {      
      e.printStackTrace(); // Here it gives error 'Odd number of characters'
    }catch (UnsupportedEncodingException e) {           
      e.printStackTrace();
    }
Run Code Online (Sandbox Code Playgroud)

但它给出了以下错误

"org.apache.commons.codec.DecoderException: Odd number of characters." 
Run Code Online (Sandbox Code Playgroud)

如何解决.由于有许多俄罗斯字符有十六进制代码3位数,因此它无法将其转换为.toCharArray()

小智 -3

代替

    sb.append(new String(bytes,"UTF-8"));
Run Code Online (Sandbox Code Playgroud)

尝试这个

    sb.append(new String(bytes,"Windows-1251"));
Run Code Online (Sandbox Code Playgroud)