各位好byte[] b = {....};我在用sqlite3保存byte[]时,String str = new String(b, "UTF-8"),然后把str的内容存入数据库。取数据时同样用"UTF-8"来解,为什么解得的byte[]数组会不一样呢?请不吝赐教...TIA

解决方案 »

  1.   

    你解码怎么用的?直接getbyte????
      

  2.   

    这么解出来,有的字符出问题。
    http://blog.sina.com.cn/s/blog_489f88710100bh74.html
    用这种拆分的方法进行转换试试吧
      

  3.   

    事实证明,直接将byte[]数组存入就可以了,我还想转成String,根本不用的。放出实验代码:
    SQLiteDatabase db = mHelper.getWritableDatabase(); try
    {
    // ByteArrayOutputStream bos = new ByteArrayOutputStream();
    // ObjectOutputStream oos = new ObjectOutputStream(bos);
    // oos.write(command);
    // byte[] buff = bos.toByteArray();
    // ByteArrayInputStream bis = new
    // ByteArrayInputStream(buff);
    String sql = "INSERT INTO " + DBHelper.TABLE_NAME
    + " VALUES(?,?);";
    SQLiteStatement ss = db.compileStatement(sql);
    ss.bindBlob(1, command);
    ss.bindString(2, "N");
    ss.execute();
    }
    finally
    {
    db.close();
    }
    其中的mHelper你们懂的。