2016-07-13 10 views
1

スマートカードを読み込もうとしていて、スマートカードからデータを取得できました。私が今直面している問題は、スマートカードからCardHolderの名前を取得する方法です。 5F20カード名義人の名前を使用しようとしているときに、私は本当にカードからこのフィールドを取得する際に使用するフォーマットを知らない私はCardHolderの名前の取得方法

if(emv_is_tag_present(0x5F20) >=0){ 
           tagDataLength = emv_get_tag_data(0x5F20, tagData, tagData.length); 
           if(debug)Log.d(APP_TAG, "Carder "+ tagDataLength); 
           appState.trans.setuserName(StringUtil.toString(AppUtil.removeTailF(ByteUtil.bcdToAscii(tagData,0, tagDataLength)))); 
          } 

を持って

は、ISO 7813カードANS 2-26 "に従ってカード所有者名を示します70' または 『私はこれは私が文字列にそれを変換しようとするたびに、私は、3030303030333830D160222101..butを取得しています出力されます...それは"00000380Ñ`をバック与えhere

からもらった77』2 26プリミティブ!これは実際にカード保有者の名前ではありません。

文書を読んで(そこにリンクされている)、自分のデータを取得するのに正しい形式を使用しているかどうかわかりません。 cosで、文書では、私はans 2-26を持っています。私はそれが何を意味するのか本当に理解していない。

+0

カードに送信したもののログがありますか? – adarsh

答えて

1

タグ5F20 - カードホルダーNAME、CARDは、このタグの値を返す場合、値は進文字列になります - ASCII文字の16進値、何をする必要がある文字列に値を変換することで、あなたが取得しますカードでパーソナライズされた価値

in the document, i have ans 2-26. I do not really understand what it means. 

時には我々は、カード内のカード所有者の名前をパーソナライズするために回避し、その後、私たちは「/」パーソナライズ -/= 2文字が続くスペースを。これは、異なるEMV仕様で定義されたタグ5F20の最小値です。したがって、最大値は26であり、タグ5F20には2-26が使用されます。

この情報がお役に立てば幸いです。

+0

この情報はありがとうございます。以前はMasterCardで作業していましたが(303030303033333830D160222101)、Verveカードを使用した場合、名前を取得することができました......マスターカードにカード名が入っていませんか?私は、カードタイプを変更するだけでした。 –

+0

私はMasterCardによるこのような制限を聞いていませんでした。このタグが有効な値を持つ5f20タグを常に見つけました。 AFLに存在すると、カードはあなたに個人的な価値を与えるでしょう。 EMVカードから5f20タグを読み取るためのあなたの措置は何ですか? – Arjun

+0

私はファイルを選択し、処理オプションを取得し、レコードを読み込み、データを取得します。これは、データを読み込むときの手順です。しかし、私はまっすぐな出力を得ています..静かなカードを読んでいる間...私は何か間違っています... 5f20と??? –

関連する問題