参考情報 : page3.nifty.com/slokar/pasori/gsuica
Suica には入出場記録と履歴の2つのサービスコードがある。Felica2Moneyで必要になるのは履歴のほう。サービスコード 0x090f。
各エントリは16バイト。フォーマットは以下の通り。
残高だけ little endian なので注意。
時刻と入線区/駅順が同じフィールドであることに注意。物販のときは時刻がはいるけど、そうじゃないときは入情報になる。 さらに、車載端末(IruCa)の場合、入線区/入駅順が各16ビットになる(それぞれ 6-7, 8-9バイト目)
端末種の値は以下の通り (Gsuica より抜粋)
処理の値は以下の通り
なお、0x49 入金というのもある(サンクスチャージ)
http://www.denno.net/SFCardFan/webservice.html で調べられる。
駅名については路線コード(線区,LineCode)、駅順コード(StationCode)の2バイトの値、およびエリアコードから調べる。 ここで、エリアコードは以下のようになる。
- リージョンが 0 で線区が 0x7f以下のとき : 0 (JR線) - リージョンが 0 で線区が 0x80以上のとき : 1 (関東公営・私鉄) - リージョンが 1 のとき : 2 (関西公営・私鉄)
店舗については、エリア(AreaCode)、端末(TerminalCode)、線区(LineCode)、駅順(StationCode)の4バイトで検索する。 しかし、上記フォーマットを見て分かるとおり、Suica に記録されているのは端末、線区、駅順の3バイトのみ。なので、 100% 確実に店舗名を知ることは不可能。