Textview不支持base 64解码Android

时间:2016-06-29 07:18:36

标签: android sqlite textview

我在服务器的base64中编码了一些内容。

当我收到回复并尝试解码时,它不会显示内容中编码的新行和空格。

下面的代码正确解码,但当我将其设置为textview的文本时,在解码的内容中不会显示新的行或空格。

但是,保存在sqlite中解码并在sqlite浏览器记事本中查看的内容会正确显示文本。

String base64data = response.getString("data");
byte[] data = Base64.decode(base64data, Base64.DEFAULT);
String text1 = new String(data, "UTF-8");

我的解码内容如下:

在排版中,该点是最小的度量单位。它用于测量打印页面上的字体大小,前导和其他项目。在整个印刷历史中,这一点的大小各不相同。自18世纪以来,该点的尺寸从0.18毫米到0.4毫米不等。

  1. 1P̸2p(12分只是“1P̸”) - 传统风格

  2. 1p2(12分只是“1p”) - 桌面格式

  3. 14pt(12点将是“12pt”或“1pc”,因为它与1 pica相同) - 由万维网联盟[3]

    <定义的层叠样式表使用的格式/ LI>

    印刷或打印机的脚包含72皮卡或864点。 1866年的度量法案确定了英尺和米之间的法律比例为1200:3937。[4]对于1959年之前使用的测量脚,这比由19​​59年国际码和英镑协议确定的国际脚的长度304.8毫米多0.0002%。

    在textview中,它显示如下:

    在排版中,该点是最小的度量单位。它用于测量打印页面上的字体大小,前导和其他项目。在整个印刷历史中,这一点的大小各不相同。自18世纪以来,该点的尺寸从0.18毫米到0.4毫米不等。 1.1P̸2p(12分只是“1P̸”) - 传统风格2. 1p2(12分只是“1p”) - 桌面格式3. 14pt(12分为“12pt”或“1pc”,因为它由万维网联盟定义的层叠样式表使用的1 pica)-format [3]印刷或打印机的脚包含72皮卡或864点。 1866年的度量法案确定了英尺和米之间的法律比例为1200:3937。[4]对于1959年之前使用的测量脚,这比由19​​59年国际码和英镑协议确定的国际脚的长度304.8毫米多0.0002%。

3 个答案:

答案 0 :(得分:0)

如果没有内容,很难说出问题的原因是什么,但有一些建议可以帮到你。

首先,使用足够大小的TextView。像这样的东西:

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:singleLine="false" />

我认为您使用\n符号作为换行符。因此,在添加文字时,请将\n符号替换为System.getProperty("line.separator")。像这样:

String text1 = new String(data, "UTF-8");
String string = text1.replace("\\\n", System.getProperty("line.separator"));

作为替代方案,您可以使用SpannableString。

答案 1 :(得分:0)

解码你的Map时尝试使用其他标志。 我想base64data就是你想要的。您还可以查看here

中的其他标记
Base64.NO_WRAP

答案 2 :(得分:0)

我找到了一个简单而奇怪的答案:

static hasOne = []

由于