1

vcard から文字列をデコードしようとしています

ADR;WORK;;ENCODING=QUOTED-PRINTABLE:;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealand

Android ビューに表示する標準テキストに変換します。http://android-vcard.googlecode.com/hg/examples/ReadExample.javaの例を使用して、アドレス フィールドを vCard パーサーで既に解析しました。

ここでのデコードの提案に従いました:コーデックライブラリを使用します。ただし、文字列;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);
4

1 に答える 1

2

これは、の引用符で囲まれた印刷可能な文字列が、エンコードされていない文字列;Building 723 Room 317;;Auckland;;Private Bag 92019 Auckland;New Zealandとまったく同じであるためです。セミコロン;は、quoted-printable エンコーディングとは何の関係もありません。代わりに、adrセミコロンを使用してその部分を次の順序で示す構造化要素です。

  • 私書箱
  • 拡張アドレス
  • 住所
  • 地域 (都市など)
  • 地域/州
  • 郵便番号
  • 国の名前
于 2013-06-02T17:25:19.157 に答える