大学生協のFeliCa,及び諸大学の学生証一体型FeliCaの仕様
レスポンスについては,特に表記のない限り東北大学のもの (学生証一体型ではない)
断りのない限りコードはビッグエンディアンで通信する (下記のドキュメントに合わせた)
記号と区別するため,アルファベットの大文字表記は記号,小文字表記は16進表記とする
FeliCa自体の仕様については,Sony公式のドキュメントを参考に
番号 | コード | 内容 |
---|---|---|
0 | 0x8365 | 不明 |
1 | 0xfe00 | 生協,学生証関連 |
※コードはリトルエンディアンで送信することに注意
コード | 最大ブロックサイズ | 説明 |
---|---|---|
0x014b | 4 | 不明 |
0x024b | 8 | 不明 |
0x054b | 8 | 不明 |
コード | 最大ブロックサイズ | 説明 |
---|---|---|
0x1a8b | 3 | 不明(学生証関連?) |
0x434b | 4 | 学生証関連(名前など) |
0x50cb | 6 | 組合員No,ミールカード,ポイント |
0x50cf | 10 | 利用履歴 |
0x50d7 | 1 | 残高,利用回数 |
以下の略語を用いる
略語 | 意味 |
---|---|
LE | リトルエンディアン |
BE | ビッグエンディアン |
HX | 16進数表記の文字列で扱える.つまり Integer.parseInt(Integer.toHexString(onebyte)) |
HXについて,例を挙げると,16進表記で |
20 16 11 22 20 00 00
となっている (データは2016/11/22 20:00.00を表す)
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
-----------------------------------------------
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
東北大学のでは特に情報はなかった
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
-----------------------------------------------
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX
XX XX XX XX XX XX XX XX 67 30 30 30 30 30 30 31
記号 | サイズ(Byte) | 説明 |
---|---|---|
XX | 不明 | 名前 (Shift-JIS) |
東北大学のでは末尾の謎の8バイトのみ,この8バイトは共通だった.
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
-----------------------------------------------
WW WW WW WW WW WW XX 00 00 00 00 00 00 00 00 00
II 00 YY MM DD JJ JJ JJ 00 00 00 00 00 00 00 00
PP PP PP PP 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
記号 | サイズ(Byte) | 説明 |
---|---|---|
WW | 6 | [HX] 組合員No/電子マネー管理番号 |
XX | 1 | NNの区分 04: 組合員 その他: 後述 |
II | 1 | ミールカード利用者(だった)かどうか 0: 現在過去ともに利用者ではない 1: 現在利用中/過去に利用したことがある |
YY | 1 | [HX] ミールカード最終利用年(末尾2桁) もしかすると前の1バイトと併せて2000年からの経過年になっているのかも |
MM | 1 | [HX] ミールカード最終利用月 |
DD | 1 | [HX] ミールカード最終利用日 |
JJ | 3 | [HX] YYMMDDの日の利用額 |
PP | 4 | [BE] ポイント(10倍した値) |
XXのその他については,恐らく広島大学の組合員証に関するページにある,システムに登録されるまでの約2週間の間は「電子マネー管理番号」という扱いなんだと思う
YYMMDDについては,非ミールカード利用者の場合はFeliCaの登録日が入っている気がする
IIについては,もしかするとミールカード利用者でなくなったときにミールカードの支払い処理をすると00に戻るのかもしれない
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
-----------------------------------------------
YY YY MM DD HH NN SS TT VV VV VV BB BB BB 00 00
︙ (最大10ブロック,新しい順)
記号 | サイズ(Byte) | 説明 |
---|---|---|
YY | 2 | [HX] 利用年 (こちらは20XX表記になっている) |
MM | 1 | [HX] 利用月 |
DD | 1 | [HX] 利用日 |
HH | 1 | [HX] 利用時 |
NN | 1 | [HX] 利用分 |
SS | 1 | [HX] 利用秒 |
TT | 1 | [HX] 利用タイプ 01: 支払い 05: チャージ |
VV | 3 | [HX] 差額(常に正) |
BB | 3 | [HX] 残額 |
00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
-----------------------------------------------
BB BB BB BB 00 00 00 00 00 00 00 00 00 CC CC CC
︙ (最大10ブロック)
記号 | サイズ(Byte) | 説明 |
---|---|---|
BB | 4? | [LE] 残額 |
CC | 3? | [HX] 利用回数(チャージを含むのかは確かめていない) |