我正在尝试解码我的vcard中的字符串
ADR;WORK;;ENCODING=QUOTED-PRINTABLE:;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealand
进入我的Android视图上显示的标准文本。我已经使用vCard解析器使用http://android-vcard.googlecode.com/hg/examples/ReadExample.java中的示例解析了地址字段。
我已按照建议here进行解码:使用codec库。但是,它仍然将字符串显示为;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealand
而不是解码它。
我的解码代码:
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);
答案 0 :(得分:2)
这是因为引用可打印的;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealand
字符串与未编码的字符串完全相同。分号;
与quoted-printable编码无关,而adr
是一个结构化元素,使用分号表示其部分,按此顺序: