关于ISO8583
1.ISO8583簡介
8583協(xié)議是基于ISO8583報(bào)文國際標(biāo)準(zhǔn)的包格式的通訊協(xié)議,8583包最多由128個字段域組成,每個域都有統(tǒng)一的規(guī)定,并有定長與變長之分。8583包前面一段為位圖,用來確定包的字段域組成情況。其中位圖是8583包的靈魂,它是打包解包確定字段域的關(guān)鍵, 而了解每個字段域的屬性則是填寫數(shù)據(jù)的基礎(chǔ)。8583協(xié)議多在POS機(jī)的開發(fā)上使用,例如回頭客會員管理系統(tǒng)在POS機(jī)上的應(yīng)用就是采用8583報(bào)文。
——摘自百度百科
2.ISO8583結(jié)構(gòu)
ISO8583一般由三部分構(gòu)成:頭部+BitMap+域。
上一個ISOUtil報(bào)文解組包工具的解碼圖:
其中,長度是由頭部信息決定,頭部制定長度用16進(jìn)制表示,解碼的長度轉(zhuǎn)成10進(jìn)制表示。例如,頭部制定長度:006C,則長度為108.
TPDU內(nèi)有10位數(shù)字,即5個字節(jié),以圖中 “60 0145 0000”為例,60是一個ID標(biāo)識符,0145一般對應(yīng)24域的值(NII即Network International ID),0000為目的地址。決定目的地址發(fā)到銀行去后,則銀行返回:“60 0000 0145”,會將后面兩個做一個位置交換。
MTI的值表示一種交易類型。
BitMap(比特地圖)里的值,決定了解析出的域Field[ ]里的值。
解析方法:將值中每一個數(shù)化成4位二進(jìn)制,從左往右數(shù),“1”在第幾位,則域的[ ]填幾。
eg:
報(bào)文中有的是字符串,有的是二進(jìn)制,有的是ASCII碼。field所對應(yīng)的value值主要通過ASCII碼轉(zhuǎn)換,也根據(jù)文檔注釋決定域值轉(zhuǎn)化。
3.8583發(fā)送方式
通過使用socket將報(bào)文發(fā)送到目標(biāo)服務(wù)器。
新手入門,歡迎指正~
總結(jié)
- 上一篇: 阿里范皓宇:互联网汽车会为汽车行业带来全
- 下一篇: 转。WEB前端特效。统计图,3D切换图片