如何用android中的特定字符或字符串填充byte []

时间:2016-11-06 07:30:58

标签: android arrays

我正在使用此代码

读取PDF文件(以字节为单位)

byte[] bytes=FileUtils.readFileToByteArray(pdf);

我想将此byte []转换为base64字符串并将其发送到客户端。

我得到的字符串值为[B@42109d30。 我希望byte[]填充相同的值[B@42109d30

我尝试将字符串的每个字符抓取到Byte,然后将此Byte值分配给byte[],但即使这样,byte[]的最终值也会发生变化。< / p>

String getbase64 = "[B@42109d30";
String a = String.valueOf((getbase64.charAt(i)));

if (a.equals("@") || a.equals("d") ) {
    bytes[i]=0; 
} else {
    b = Byte.valueOf(""+a);
    bt = b;
    bytes[i] = bt;
    Log.d("bytes", bytes.toString());
}

请帮助,谢谢

1 个答案:

答案 0 :(得分:2)

您可以将字符串转换为byte [],反之亦然:

byte[] bytes = text.getBytes("UTF-8");
String text = new String(bytes, "UTF-8");