【问题标题】:convert byteArray to string to initialize jsonObject将 byteArray 转换为字符串以初始化 jsonObject
【发布时间】:2015-11-06 06:11:36
【问题描述】:

我有字节数组。

可以将byteArray转成String吗?

请检查我的代码

        byte[] data = **some_byte_array**
        JSONObject jsonObject = new JSONObject(data);

我该如何解决这个问题。

【问题讨论】:

  • 你到底想在这里做什么?上传文件?

标签: android json bytearray


【解决方案1】:

试试这个

String decoded = new String(bytes, "UTF-8");

有一堆编码可以使用,看Sun javadocs中的Charset类。

byte[] 和 String 之间的“正确转换”是明确说明您要使用的编码。如果您以 byte[] 开头并且它实际上不包含文本数据,则没有“正确的转换”。字符串用于文本,byte[] 用于二进制数据,唯一真正明智的做法是避免在它们之间进行转换,除非万不得已。

答案归https://stackoverflow.com/a/1536365/4211264

【讨论】:

  • JSON几乎总是以 UTF-8 编码(例如,参见 the RFC)。不能保证,但这是猜测成功率很高的时候之一。
【解决方案2】:

是的,您可以使用这样的字符串构造函数之一将字节数组转换为字符串:

String myString = new String(yourByteArray);

相同的文档: http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#String(byte[])

一切顺利:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-14
    • 1970-01-01
    • 2016-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多