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)
| 归档时间: |
|
| 查看次数: |
6319 次 |
| 最近记录: |