通常,每个字节都由2个十六进制数字表示,因此,如果您的HEX字符串中的数字位数为奇数,则说明存在问题。您可以尝试在开头用0填充,例如:
String hexImage ="0xFFD8FFE000104A46494600010200006400640000FFEC00114475636B79000100040000003C...";if(hexImage.length()%2 == 1) hexImage = "0x0" + hexImage.substring(2);
或末尾,例如:
String hexImage ="0xFFD8FFE000104A46494600010200006400640000FFEC00114475636B79000100040000003C...";if(hexImage.length()%2 == 1) hexImage += "0";
但是,这不能保证产生适当的图像。
总体而言,您应该检查如何获取十六进制字符串。正确的字节序列应始终包含偶数个十六进制数字。
编辑: 另外,正如Peter Lawrey在他的评论中指出的那样,您应该检查该
depre方法是否期望
0x在字符串的前面。



