/**
* 将String转成BCD码
*
* @param s
* @return
*/
public static byte [] StrToBCDBytes(String s)
{
if(s.length () % 2 != 0)
{
s = "0" + s;
}
ByteArrayOutputStream baos = new ByteArrayOutputStream ();
char [] cs = s.toCharArray ();
for (int i = 0;i < cs.length;i += 2)
{
int high = cs [i] - 48;
int low = cs [i + 1] - 48;
baos.write (high << 4 | low);
}
return baos.toByteArray ();
}
/**
* 将BCD码转成String
*
* @param b
* @return
*/
public static String bcdToString(byte [] b){
StringBuffer sb = new StringBuffer ();
for (int i = 0;i < b.length;i++ )
{
int h = ((b [i] & 0xff) >> 4) + 48;
sb.append ((char) h);
int l = (b [i] & 0x0f) + 48;
sb.append ((char) l);
}
return sb.toString () ;
}
java将BCD码和String相互转换
最新推荐文章于 2024-08-05 15:33:17 发布