Java 在Android中解码编码=带引号的可打印字符串

Java 在Android中解码编码=带引号的可打印字符串,java,android,decode,vcf-vcard,Java,Android,Decode,Vcf Vcard,我正试图从我的vcard中解码一个字符串 ADR;WORK;;ENCODING=QUOTED-PRINTABLE:;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealand 转换为标准文本以显示在我的Android视图上。我已经使用vCard解析器解析了地址字段,使用中的示例 我遵循了解码的建议:使用库。但是,它仍将字符串显示为;723号楼317室;;奥克兰;;奥克兰私人包92019;新西兰而不是解码它 我的

我正试图从我的vcard中解码一个字符串

ADR;WORK;;ENCODING=QUOTED-PRINTABLE:;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealand
转换为标准文本以显示在我的Android视图上。我已经使用vCard解析器解析了地址字段,使用中的示例

我遵循了解码的建议:使用库。但是,它仍将字符串显示为
;723号楼317室;;奥克兰;;奥克兰私人包92019;新西兰
而不是解码它

我的解码码:

    byte[] byteAddress = address.getBytes();
    String decodedAddress = "";
    try {
        decodedAddress = new String(QuotedPrintableCodec.decodeQuotedPrintable(byteAddress));
    } catch (DecoderException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    TextView textView4 = (TextView) findViewById(R.id.address);
    textView4.setText(decodedAddress);

这是因为引用了一个可打印字符串
;723号楼317室;;奥克兰;;奥克兰私人包92019;新西兰
与未编码字符串完全相同。分号
与引用的可打印编码无关,相反,
adr
是一个结构化元素,使用分号表示其部分,顺序如下:

  • 邮政信箱
  • 扩展地址
  • 街道地址
  • 地点(如城市)
  • 地区/州
  • 邮政编码
  • 国名