一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种用于安防门禁上的信息压缩编码解码方法及装置与流程

2022-10-13 01:07:55 来源:中国专利 TAG:


1.本技术涉及信息压缩编码技术领域,特别涉及一种用于安防门禁上的信息压缩编码解码方法及装置。


背景技术:

2.在安防门禁领域广泛使用各种类型的实体卡片或虚拟电子二维码作为身份认证的介质,接口协议通常使用韦根(wiegand)协议,它是国际上统一的标准通讯协议,由摩托罗拉公司制定。韦根协议虽然没有定义传输的数据长度,但现在应用最多的是wg26bit、wg34bit和wg66bit。对于wg26,第1位为第2位~第13位的偶校验位,第26位为第14位~第25位的奇校验位。wg26可以传输3字节数据。对于wg34,第1位为第2位~第17位的偶校验位,第34位为第18位~第33位的奇校验位。wg34可以传输4字节数据。对于wg66,第1位为第2位~第33位的偶校验位,第66位为第34位~第65位的奇校验位。wg66可以传输8字节数据。
3.韦根协议的优点是简单、通用、成本低、技术对接容易。但目前大量使用的安防门禁控制器,通过读取智能卡信息(卡号用纯数字或十六进制表示),只支持wg26、wg34和wg66协议,且不支持英文字母表中f之后的字母;对于数据长度大于8字节的应用,例如居民社保卡的卡信息数据长度为15个字符(社保卡号包含字母表中f之后的字母),就不能直接用wg66协议来传输,导致安防门禁领域内部分社保卡号无法正常显示的问题。


技术实现要素:

4.本技术提供了一种用于安防门禁上的信息压缩编码解码方法及装置,可用于解决居民社保卡的卡信息数据不能直接用wg66协议来传输的技术问题。
5.第一方面,本技术提供了一种用于安防门禁上的信息压缩编码解码方法,所述方法包括:编码阶段以及解码阶段;其中,编码阶段包括:读取居民社保卡公开信息字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符;所述取居民社保卡包括6个字符的行政区划代码以及每个直辖市、自治区内的每张卡唯一的9个字符的社保卡号;将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符;其中字符从0至z依次对应数字0至61;将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果;解码过程包括:读取编码结果,进行二进制转码得到初始解码符;
对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符;对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡号字符;对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
6.结合第一方面,在第一方面的一种可实现方式中,将初始社保卡号显示符中划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接,包括:将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符;所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
7.结合第一方面,在第一方面的一种可实现方式中,按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果,包括:按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接;在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果;将初始编码结果按照每4位为一字符进行十六进制转换,得到编码结果。
8.结合第一方面,在第一方面的一种可实现方式中,对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符,包括:取初始解码符中的第3位至第20位得到第一中间字符;取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
9.结合第一方面,在第一方面的一种可实现方式中,对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符,包括:将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序;将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
10.结合第一方面,在第一方面的一种可实现方式中,社保卡号编码表如下所示:序号字符初始社保卡号显示符序号字符初始社保卡号显示符0000000031v0111111100000132w1000002200001033x1000013300001134y1000104400010035z1000115500010136a1001006600011037b1001017700011138c1001108800100039d100111
9900100140e10100010a00101041f10100111b00101142g10101012c00110043h10101113d00110144i10110014e00111045j10110115f00111146k10111016g01000047l10111117h01000148m11000018i01001049n11000119j01001150o11001020k01010051p11001121l01010152q11010022m01011053r11010123n01011154s11011024o01100055t11011125p01100156u11100026q01101057v11100127r01101158w11101028s01110059x11101129t01110160y11110030u01111061z111101其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
11.结合第一方面,在第一方面的一种可实现方式中,行政区代码表如下所示:
编码省级区划初始行政显示符序号省级区划初始行政显示符11北京市0000101143湖南省0010101112天津市0000110044广东省0010110013河北省0000110145广西壮族自治区0010110114山西省0000111046海南省0010111015内蒙古自治区0000111150重庆市0011001021辽宁省0001010151四川省0011001122吉林省0001011052贵州省0011010023黑龙江省0001011153云南省0011010131上海市0001111154西藏自治区0011011032江苏省0010000061陕西省0011110133浙江省0010000162甘肃省0011111034安徽省0010001063青海省0011111135福建省0010001164宁夏回族自治区01000000
36江西省0010010065新疆维吾尔自治区0100000137山东省0010010171台湾省0100100041河南省0010100181香港特别行政区0101000142湖北省0010101082澳门特别行政区01010010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
12.第二方面,本技术提供了一种用于安防门禁上的信息压缩编码解码装置,所述装置包括:编码阶段模块以及解码模块;其中,编码模块用于:读取居民社保卡字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符 ;所述取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号;以及将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符;其中字符从0至z依次对应数字0至61;以及将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;以及按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果;解码模块用于:读取编码结果,进行二进制转码得到初始解码符;以及对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符;以及对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡号字符以及对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
13.结合第二方面,在第二方面的一种可实现方式中,编码模块具体用于:将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符;所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
14.结合第二方面,在第二方面的一种可实现方式中,解码模块具体用于:按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接;在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果;将初始编码结果按照每4位为一字节进行十六进制转换,得到编码结果。
15.结合第二方面,在第二方面的一种可实现方式中,解码模块具体用于:取初始解码符中的第3位至第20位得到第一中间字符。取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
16.结合第二方面,在第二方面的一种可实现方式中,解码模块具体用于:将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序。
17.将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
18.结合第二方面,在第二方面的一种可实现方式中,社保卡号编码表如下所示:序号字符初始社保卡号显示符序号字符初始社保卡号显示符0000000031v0111111100000132w1000002200001033x1000013300001134y1000104400010035z1000115500010136a1001006600011037b1001017700011138c1001108800100039d1001119900100140e10100010a00101041f10100111b00101142g10101012c00110043h10101113d00110144i10110014e00111045j10110115f00111146k10111016g01000047l10111117h01000148m11000018i01001049n11000119j01001150o11001020k01010051p11001121l01010152q11010022m01011053r11010123n01011154s11011024o01100055t11011125p01100156u11100026q01101057v11100127r01101158w11101028s01110059x11101129t01110160y11110030u01111061z111101其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标
数字转化为6bit二进制表现形式。
19.结合第二方面,在第二方面的一种可实现方式中,行政区代码表如下所示:
编码省级区划初始行政显示符序号省级区划初始行政显示符11北京市0000101143湖南省0010101112天津市0000110044广东省0010110013河北省0000110145广西壮族自治区0010110114山西省0000111046海南省0010111015内蒙古自治区0000111150重庆市0011001021辽宁省0001010151四川省0011001122吉林省0001011052贵州省0011010023黑龙江省0001011153云南省0011010131上海市0001111154西藏自治区0011011032江苏省0010000061陕西省0011110133浙江省0010000162甘肃省0011111034安徽省0010001063青海省0011111135福建省0010001164宁夏回族自治区0100000036江西省0010010065新疆维吾尔自治区0100000137山东省0010010171台湾省0100100041河南省0010100181香港特别行政区0101000142湖北省0010101082澳门特别行政区01010010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
20.本技术创新性地提出用信息压缩编码算法解决居民社保卡中行政区划编码和社保卡号,共15个字符,因为包含f之后的字母及长度不能适配目前广泛使用的wg66安防门禁控制器的传输协议问题。
21.本技术在编码过程中,将6bit二进制流进行高位低位分离,最大程度保留了原有信息的目视可读性。
附图说明
22.图1为本技术实施例提供的一种用于安防门禁上的信息压缩编码方法的流程图;图2为本技术实施例提供的一种用于安防门禁上的信息解码方法的流程图。
具体实施方式
23.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
24.下面首先结合附图对本技术实施例进行介绍。
25.本技术提供的方法包括:编码阶段以及解码阶段。
26.其中,编码阶段包括:步骤s1,读取居民社保卡公开信息字符,将其中省级行政区划识别码按照行政区
代码表作为整体转化为8bit二进制的初始行政显示符。取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号。
27.具体的,行政区代码表如下所示:表1:行政区代码表
编码省级区划初始行政显示符序号省级区划初始行政显示符11北京市0000101143湖南省0010101112天津市0000110044广东省0010110013河北省0000110145广西壮族自治区0010110114山西省0000111046海南省0010111015内蒙古自治区0000111150重庆市0011001021辽宁省0001010151四川省0011001122吉林省0001011052贵州省0011010023黑龙江省0001011153云南省0011010131上海市0001111154西藏自治区0011011032江苏省0010000061陕西省0011110133浙江省0010000162甘肃省0011111034安徽省0010001063青海省0011111135福建省0010001164宁夏回族自治区0100000036江西省0010010065新疆维吾尔自治区0100000137山东省0010010171台湾省0100100041河南省0010100181香港特别行政区0101000142湖北省0010101082澳门特别行政区01010010
其中,行政区划识别码为社保卡发行地行政区划代码前两位对应为表1中的编码,将行政区划识别码转化为8bit二进制初始行政显示符。
28.步骤s2,将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符。其中字符从0至z依次对应数字0至61。
29.具体的,社保卡号编码表如下所示:表2:社保卡号编码表序号字符初始社保卡号显示符序号字符初始社保卡号显示符0000000031v0111111100000132w1000002200001033x1000013300001134y1000104400010035z1000115500010136a1001006600011037b1001017700011138c1001108800100039d1001119900100140e10100010a00101041f101001
0001 00 0010 00 0011 00 0100 00 0101 00 0110 00 0111 10 0001.如果不采用高位和地位相分离的办法,则对应得到补位后的64位二进制bit流:00 0100 0001 001101 000001 000010 000011 000100 000101 000110 000111 100001。再进行十六进制转化,得到:104d 0420 c414 61e1。
40.而如果采用本技术实施例提供的方法,补位后得到64位二进制bit流:00 00 00 00 00 00 00 00 00 10 0100 0001 1101 0001 0010 0011 0100 0101 0110 0111 0001。十六进制转换结果为0000 241d 1234 5671。最大程度保留了原社保卡号中的“d1234567”。较之一般情况下,不采用高位与低位相分离的方法,原社保卡号中的信息的目视可读性加强。
41.解码过程包括:步骤s5,读取编码结果,进行二进制转码得到初始解码符。
42.步骤s6,对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符。
43.具体的,取初始解码符中的第3位至第20位得到第一中间字符。取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
44.步骤s7,对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符。
45.具体的,将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序。
46.将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
47.具体的,第二中间字符即为社保卡号编码表中的初始社保卡号显示符,对应转化为字符,并将所有字符按顺序排列,即可得到居民社保卡号字符。
48.步骤s8,对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
49.本技术还提供了一种用于安防门禁上的信息压缩编码解码装置,装置包括:编码阶段模块以及解码模块。
50.其中,编码模块用于:读取居民社保卡字符,将其中行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符 。取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号。
51.以及将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符。其中字符从0至z依次对应数字0至61。
52.以及将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接。
53.以及按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果。
54.解码模块用于:读取编码结果,进行二进制转码得到初始解码符。
55.以及对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符。
56.以及对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符以及对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
57.可选的,编码模块具体用于:将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符。
58.所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
59.可选的,解码模块具体用于:按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接。
60.在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果。
61.将初始编码结果按照每4位为一字节进行十六进制转换,得到编码结果。
62.可选的,解码模块具体用于:取初始解码符中的第3位至第20位得到第一中间字符。取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
63.可选的,解码模块具体用于:将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序。
64.将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
65.可选的,社保卡号编码表如下所示:序号字符初始社保卡号显示符序号字符初始社保卡号显示符0000000031v0111111100000132w1000002200001033x1000013300001134y1000104400010035z1000115500010136a1001006600011037b1001017700011138c1001108800100039d1001119900100140e10100010a00101041f10100111b00101142g10101012c00110043h10101113d00110144i101100
14e00111045j10110115f00111146k10111016g01000047l10111117h01000148m11000018i01001049n11000119j01001150o11001020k01010051p11001121l01010152q11010022m01011053r11010123n01011154s11011024o01100055t11011125p01100156u11100026q01101057v11100127r01101158w11101028s01110059x11101129t01110160y11110030u01111061z111101其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
66.可选的,行政区代码表如下所示:
编码省级区划初始行政显示符序号省级区划初始行政显示符11北京市0000101143湖南省0010101112天津市0000110044广东省0010110013河北省0000110145广西壮族自治区0010110114山西省0000111046海南省0010111015内蒙古自治区0000111150重庆市0011001021辽宁省0001010151四川省0011001122吉林省0001011052贵州省0011010023黑龙江省0001011153云南省0011010131上海市0001111154西藏自治区0011011032江苏省0010000061陕西省0011110133浙江省0010000162甘肃省0011111034安徽省0010001063青海省0011111135福建省0010001164宁夏回族自治区0100000036江西省0010010065新疆维吾尔自治区0100000137山东省0010010171台湾省0100100041河南省0010100181香港特别行政区0101000142湖北省0010101082澳门特别行政区01010010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
67.需要说明的是,本技术中解码以及编码过程均为独立过程,实施者根据需要可以仅实施其中一个过程。
68.下面结合具体例子,阐述本技术实施例。
69.安徽某居民持有的社保卡的省级行政区划识别码为34,社保卡号为jb468994x。根据步骤s1,34压缩为34(安徽省省级行政区划代码),二进制bit流为0010 0010。
70.根据步骤s2,jb468994x编码为010011 001011 000100 000110 001000 001001 001001 000100 100001。
71.根据步骤s3,以j对应的010011为例,其中,前两位01为高位,后四位0011为低位。
72.根据步骤s4,高位社保卡号显示符拼接结果为01 00 00 00 00 00 00 00 10 ,低位社保卡号显示符凭借结果为0011 1011 0100 0110 1000 1001 1001 0100 0001。
73.在高位社保卡号显示符之前两位用0进行补位,并按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,得到0001 0000 0000 0000 0010 0010 0010 0011 1011 0100 0110 1000 1001 1001 0100 0001,进行十六进制转换,得到编码结果为10 00 22 23 b4 68 99 41。
74.在解码过程中,根据步骤s5,首先得到十六进制社保卡信息为:10 00 22 23 b4 68 99 41。然后对以上信息进行二进制转码,得到本技术实施例中的64位初试解码符:0001000000000000001000100010001110110100011010001001100101000001。
75.根据步骤s6以及s7,得到居民社保卡字符对应的二进制流为010011 001011 000100 000110 001000 001001 001001 000100 100001,居民社保卡字符为jb468994x。
76.根据步骤s8,行政区划编码前两位为34。
77.本技术创新性地提出用信息压缩编码算法解决居民社保卡中行政区划编码和社保卡号,共15个字符,因为包含f之后的字母及长度不能适配目前广泛使用的wg66安防门禁控制器的传输协议问题。
78.本技术在编码过程中,将6bit二进制流进行高位低位分离,最大程度保留了原有信息的目视可读性。
79.本领域的技术人员可以清楚地了解到本技术实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
80.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
81.以上所述的本技术实施方式并不构成对本技术保护范围的限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献