需求:客户需要从一个系统中把二进制的图片从sybase数据库中导出txt文件,然后导到另一个系统中。
问题:从数据库取出来的数据为byte数组,导出的txt文件中为乱码,不能导到另个系统的数据库,直接处理为数字导出,另一个系统从数据库中取出来不能还原为图片。
解决方法:经过研究发现数据库中存储的是十六进制的格式,每个byte在数据库中为两个字符,所以把取到的byte数组的每位转换成十六进制String substr = Integer.toHexString(buf[0]).toString();然后取substr的后两位字符,
注意substr可能只有一位数字。