如何使用java和hibernate使用byte []创建可搜索的String ID

时间:2013-04-20 13:10:43

标签: java mysql hibernate java-ee rfid

我正在开展一个RFID项目,在这个项目中我应该识别带有RFID标签的车辆。 RFID标签包含14个字节的数据。 我的第一个线索是将数组的每个字节转换为如下字符串:

public String convertByteToString(byte[] tag)
{
    String stringRfid ="";
    for(int i=0; i<14; i++)
      stringRfid = stringRfid + tag[i];
    return stringRfid;
}

我不知道这是一个不起眼的解决方案还是什么。有人说,我引用它“在BLOB中存储raw byte [] - 最安全,最有效的存储方式。” 你能不能给我一些提示,这是最快,最简单,最有效的方法吗?

1 个答案:

答案 0 :(得分:1)

我会将字节数组转换为base64编码的可读字符串,并将此字符串存储在数据库中。它只会以4/3的比例增加大小(因此大约20个字节而不是14个),并且会在数据库中存储可读,可索引和可​​打印的ascii字符串。

Guava和apache commons-codec都有一个免费的base64编码器/解码器。