我需要一种方法来将字节[]转换为字符串而不创建新的字符串对象。字节数组到字符串在Android
我不想要什么:
String s= new String(byte[], int offset, int byteCount);
是否有另一种方式来达到同样的事情,而无需创建一个新的String对象?
我一直在寻找Base64类。那样有用吗?
我需要一种方法来将字节[]转换为字符串而不创建新的字符串对象。字节数组到字符串在Android
我不想要什么:
String s= new String(byte[], int offset, int byteCount);
是否有另一种方式来达到同样的事情,而无需创建一个新的String对象?
我一直在寻找Base64类。那样有用吗?
这只有在某个地方有可能获得从每个输入生成的字符串缓存时才有可能。
字符串是不变的,所以你不能把新的数据到现有串 - 所以,除非你能找到其已经有正确的数据(缓存我前面提到的),你会现有字符串必须创建一个新的字符串。
(我也强烈建议您指定编码要使用的,而不是依靠系统默认编码的字符。)
当然,如果这不是真正编码的文本入手(例如,如果byte[]
数据来自图像),那么无论如何Base64会更合适 - 但是这与您是否需要新字符串是正交的。
只需将Base64.java文件放入您的项目包中即可。 &使用 String str = Base64.encodeBytes(byte array);这将给u字节[]字符串转换。你可以从http://iharder.sourceforge.net/current/java/base64/下载base64.java
你想创建一个String对象而不创建它? :\ – amit 2012-02-26 08:09:01
你为什么认为你需要这个? – 2012-02-26 08:11:00
内存问题。我得到吨和吨字节数组,我需要变成字符串。垃圾收集似乎不能很好地工作,因为一段时间后我会发现内存异常。 – user1233527 2012-02-26 08:25:46