转换文件编码
diff --git a/supwisdom/protocol/amassprotocol.py b/supwisdom/protocol/amassprotocol.py
index 746abd1..fde1bbe 100644
--- a/supwisdom/protocol/amassprotocol.py
+++ b/supwisdom/protocol/amassprotocol.py
@@ -1,5 +1,5 @@
# -*- coding: utf-8
-""" »ã¶àÐÒé·â×°
+""" 汇多协议封装
"""
import codecs
import struct
@@ -13,7 +13,7 @@
IFT_STRING = 6
IFT_LONG = 7
-# (0,0,1,IFT_BYTE,0,"msgtype","ÏûÏ¢Âë"),
+# (0,0,1,IFT_BYTE,0,"msgtype","消息码"),
FLD_NO_IDX = 0
FLD_LENGTH_IDX = 2
@@ -23,34 +23,34 @@
FLD_DESC_IDX = 6
HDFieldsDef = [
-(1, 0, 0, IFT_NULL, 0, "extend", u"À©Õ¹Óò·ñ"),
-(2, 0, 4, IFT_ULONG, 0, "terminalsn", u" ÖÕ¶ËÐòÁкÅ"),
-(3, 0, 2, IFT_USHORT, 0, "address", u"CANµØÖ·"),
-(4, 0, 4, IFT_ULONG, 0, "cardnumber", u"¿¨ºÅ"),
-(5, 0, 1, IFT_BYTE, 0, "indexofew", u" Ç®°üË÷Òý"),
-(6, 0, 2, IFT_USHORT, 0, "traceofew", u" Ç®°üÁ÷Ë®ºÅ"),
-(7, 0, 4, IFT_LONG, 0, "amount", u" ½»Ò×½ð¶î"),
-(8, 0, 4, IFT_LONG, 0, "additionalamount1", u"¸½¼Ó½ð¶î"),
-(9, 0, 4, IFT_ULONG, 0, "traceofpos", u"POSÁ÷Ë®ºÅ"),
-(10, 0, 4, IFT_ULONG, 0, "orgtranstrace", u"Ô½»Ò×Á÷Ë®ºÅ"),
-(11, 0, 7, IFT_DATETIME, 0, "datetime", u"½»Ò×ÈÕÆÚºÍʱ¼ä"),
-(12, 0, 1, IFT_BYTE, 0, "responsecode", u"ÏìÓ¦Âë"),
-(13, 0, 2, IFT_USHORT, 0, "terminalid", u"Öն˺Å"),
-(14, 0, 2, IFT_USHORT, 0, "terminaltype", u"ÖÕ¶ËÀàÐÍ"),
-(15, 0, 2, IFT_USHORT, 0, "merchantid", u"ÉÌ»§(Íøµã)ºÅ"),
-(16, 0, 4, IFT_ULONG, 0, "operatorid", u"²Ù×÷Ô±ºÅ"),
-(17, 0, 8, IFT_BUFFER, 0, "pin", u"¸öÈËʶ±ðÂëPIN"),
-(18, 0, 4, IFT_ULONG, 0, "veroflist", u"ºÚÃûµ¥°æ±¾"),
-(19, 0, 4, IFT_ULONG, 0, "managefee", u"½»Ò×Åú´ÎºÅ(Ôݲ»ÓÃ)"),
-(20, 0, 360, IFT_BUFFER, 2, "additionaldata1", u"¸½¼ÓÐÅÏ¢1"),
-(21, 0, 528, IFT_BUFFER, 2, "additionaldata2", u"¸½¼ÓÐÅÏ¢2"),
-(22, 0, 528, IFT_STRING, 2, "additionaldata3", u"¸½¼ÓÐÅÏ¢3"),
-(23, 0, 528, IFT_STRING, 2, "additionaldata4", u"¸½¼ÓÐÅÏ¢4"),
-(24, 0, 2, IFT_USHORT, 0, "mac", u"ÏûÏ¢ÈÏÖ¤Âë")]
+(1, 0, 0, IFT_NULL, 0, "extend", u"扩展域否"),
+(2, 0, 4, IFT_ULONG, 0, "terminalsn", u" 终端序列号"),
+(3, 0, 2, IFT_USHORT, 0, "address", u"CAN地址"),
+(4, 0, 4, IFT_ULONG, 0, "cardnumber", u"卡号"),
+(5, 0, 1, IFT_BYTE, 0, "indexofew", u" 钱包索引"),
+(6, 0, 2, IFT_USHORT, 0, "traceofew", u" 钱包流水号"),
+(7, 0, 4, IFT_LONG, 0, "amount", u" 交易金额"),
+(8, 0, 4, IFT_LONG, 0, "additionalamount1", u"附加金额"),
+(9, 0, 4, IFT_ULONG, 0, "traceofpos", u"POS流水号"),
+(10, 0, 4, IFT_ULONG, 0, "orgtranstrace", u"原交易流水号"),
+(11, 0, 7, IFT_DATETIME, 0, "datetime", u"交易日期和时间"),
+(12, 0, 1, IFT_BYTE, 0, "responsecode", u"响应码"),
+(13, 0, 2, IFT_USHORT, 0, "terminalid", u"终端号"),
+(14, 0, 2, IFT_USHORT, 0, "terminaltype", u"终端类型"),
+(15, 0, 2, IFT_USHORT, 0, "merchantid", u"商户(网点)号"),
+(16, 0, 4, IFT_ULONG, 0, "operatorid", u"操作员号"),
+(17, 0, 8, IFT_BUFFER, 0, "pin", u"个人识别码PIN"),
+(18, 0, 4, IFT_ULONG, 0, "veroflist", u"黑名单版本"),
+(19, 0, 4, IFT_ULONG, 0, "managefee", u"交易批次号(暂不用)"),
+(20, 0, 360, IFT_BUFFER, 2, "additionaldata1", u"附加信息1"),
+(21, 0, 528, IFT_BUFFER, 2, "additionaldata2", u"附加信息2"),
+(22, 0, 528, IFT_STRING, 2, "additionaldata3", u"附加信息3"),
+(23, 0, 528, IFT_STRING, 2, "additionaldata4", u"附加信息4"),
+(24, 0, 2, IFT_USHORT, 0, "mac", u"消息认证码")]
class HDPack:
- ''' »ã¶à 8583 ÐÒé°ü '''
+ ''' 汇多 8583 协议包 '''
def __init__(self):
self.msg_type = 0
self.value = {}
@@ -302,7 +302,7 @@
fflag = field[FLD_FLAG_IDX]
#fname = field[FLD_NAME_IDX]
#print "parse field[%s] [%d]off[%d][%s]" % (fname,fflag,offset,codecs.encode(data[offset:offset+2],'hex'))
- # ±ä³¤Êý¾Ý
+ # 变长数据
if fflag == 2:
#print "len [%s]" % codecs.encode(data[offset:offset+2],'hex')
endpos = self.buffer_2_int(data[offset:offset + 2], IFT_USHORT)