Java 在Android中解码编码=带引号的可打印字符串
我正试图从我的vcard中解码一个字符串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;新西兰而不是解码它 我的
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
是一个结构化元素,使用分号表示其部分,顺序如下:
- 邮政信箱
- 扩展地址
- 街道地址
- 地点(如城市)
- 地区/州
- 邮政编码
- 国名