CN115169289A - 一种用于安防门禁上的信息压缩编码解码方法及装置 - Google Patents

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

Info

Publication number
CN115169289A
CN115169289A CN202211076188.9A CN202211076188A CN115169289A CN 115169289 A CN115169289 A CN 115169289A CN 202211076188 A CN202211076188 A CN 202211076188A CN 115169289 A CN115169289 A CN 115169289A
Authority
CN
China
Prior art keywords
social security
security card
card number
number display
initial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211076188.9A
Other languages
English (en)
Other versions
CN115169289B (zh
Inventor
朱正涛
张建华
丁一宁
王辉
曹坤增
徐建
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nust Science And Technology Park Co ltd
Original Assignee
Nust Science And Technology Park Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nust Science And Technology Park Co ltd filed Critical Nust Science And Technology Park Co ltd
Priority to CN202211076188.9A priority Critical patent/CN115169289B/zh
Publication of CN115169289A publication Critical patent/CN115169289A/zh
Application granted granted Critical
Publication of CN115169289B publication Critical patent/CN115169289B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C9/00Individual registration on entry or exit
    • G07C9/20Individual registration on entry or exit involving the use of a pass
    • G07C9/22Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Credit Cards Or The Like (AREA)

Abstract

本申请提供一种用于安防门禁上的信息压缩编码解码方法及装置,包括:编码阶段以及解码阶段;其中,编码阶段包括:读取居民社保卡公开信息字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为初始行政显示符;将社保卡号中的每一位字符按照预先确定的社保卡号压缩编码表,转化为初始社保卡号显示符;将每一初始社保卡号显示符中划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;进行十六进制转换,得到编码结果。本申请解决了包含F之后的字母及长度不能适配目前传输协议的问题。

Description

一种用于安防门禁上的信息压缩编码解码方法及装置
技术领域
本申请涉及信息压缩编码技术领域,特别涉及一种用于安防门禁上的信息压缩编码解码方法及装置。
背景技术
在安防门禁领域广泛使用各种类型的实体卡片或虚拟电子二维码作为身份认证的介质,接口协议通常使用韦根(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字节数据。
韦根协议的优点是简单、通用、成本低、技术对接容易。但目前大量使用的安防门禁控制器,通过读取智能卡信息(卡号用纯数字或十六进制表示),只支持WG26、WG34和WG66协议,且不支持英文字母表中F之后的字母;对于数据长度大于8字节的应用,例如居民社保卡的卡信息数据长度为15个字符(社保卡号包含字母表中F之后的字母),就不能直接用WG66协议来传输,导致安防门禁领域内部分社保卡号无法正常显示的问题。
发明内容
本申请提供了一种用于安防门禁上的信息压缩编码解码方法及装置,可用于解决居民社保卡的卡信息数据不能直接用WG66协议来传输的技术问题。
第一方面,本申请提供了一种用于安防门禁上的信息压缩编码解码方法,所述方法包括:
编码阶段以及解码阶段;
其中,编码阶段包括:
读取居民社保卡公开信息字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符;所述取居民社保卡包括6个字符的行政区划代码以及每个直辖市、自治区内的每张卡唯一的9个字符的社保卡号;
将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符;其中字符从0至z依次对应数字0至61;
将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果;
解码过程包括:
读取编码结果,进行二进制转码得到初始解码符;
对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符;
对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡号字符;
对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
结合第一方面,在第一方面的一种可实现方式中,将初始社保卡号显示符中划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接,包括:
将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符;
所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
结合第一方面,在第一方面的一种可实现方式中,按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果,包括:
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接;
在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果;
将初始编码结果按照每4位为一字符进行十六进制转换,得到编码结果。
结合第一方面,在第一方面的一种可实现方式中,对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符,包括:
取初始解码符中的第3位至第20位得到第一中间字符;取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
结合第一方面,在第一方面的一种可实现方式中,对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符,包括:
将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序;
将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
结合第一方面,在第一方面的一种可实现方式中,社保卡号编码表如下所示:
序号 字符 初始社保卡号显示符 序号 字符 初始社保卡号显示符
0 0 00 0000 31 V 01 1111
1 1 00 0001 32 W 10 0000
2 2 00 0010 33 X 10 0001
3 3 00 0011 34 Y 10 0010
4 4 00 0100 35 Z 10 0011
5 5 00 0101 36 a 10 0100
6 6 00 0110 37 b 10 0101
7 7 00 0111 38 c 10 0110
8 8 00 1000 39 d 10 0111
9 9 00 1001 40 e 10 1000
10 A 00 1010 41 f 10 1001
11 B 00 1011 42 g 10 1010
12 C 00 1100 43 h 10 1011
13 D 00 1101 44 i 10 1100
14 E 00 1110 45 j 10 1101
15 F 00 1111 46 k 10 1110
16 G 01 0000 47 l 10 1111
17 H 01 0001 48 m 11 0000
18 I 01 0010 49 n 11 0001
19 J 01 0011 50 o 11 0010
20 K 01 0100 51 p 11 0011
21 L 01 0101 52 q 11 0100
22 M 01 0110 53 r 11 0101
23 N 01 0111 54 s 11 0110
24 O 01 1000 55 t 11 0111
25 P 01 1001 56 u 11 1000
26 Q 01 1010 57 v 11 1001
27 R 01 1011 58 w 11 1010
28 S 01 1100 59 x 11 1011
29 T 01 1101 60 y 11 1100
30 U 01 1110 61 z 11 1101
其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
结合第一方面,在第一方面的一种可实现方式中,行政区代码表如下所示:
编码 省级区划 初始行政显示符 序号 省级区划 初始行政显示符
11 北京市 0000 1011 43 湖南省 0010 1011
12 天津市 0000 1100 44 广东省 0010 1100
13 河北省 0000 1101 45 广西壮族自治区 0010 1101
14 山西省 0000 1110 46 海南省 0010 1110
15 内蒙古自治区 0000 1111 50 重庆市 0011 0010
21 辽宁省 0001 0101 51 四川省 0011 0011
22 吉林省 0001 0110 52 贵州省 0011 0100
23 黑龙江省 0001 0111 53 云南省 0011 0101
31 上海市 0001 1111 54 西藏自治区 0011 0110
32 江苏省 0010 0000 61 陕西省 0011 1101
33 浙江省 0010 0001 62 甘肃省 0011 1110
34 安徽省 0010 0010 63 青海省 0011 1111
35 福建省 0010 0011 64 宁夏回族自治区 0100 0000
36 江西省 0010 0100 65 新疆维吾尔自治区 0100 0001
37 山东省 0010 0101 71 台湾省 0100 1000
41 河南省 0010 1001 81 香港特别行政区 0101 0001
42 湖北省 0010 1010 82 澳门特别行政区 0101 0010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
第二方面,本申请提供了一种用于安防门禁上的信息压缩编码解码装置,所述装置包括:
编码阶段模块以及解码模块;
其中,编码模块用于:
读取居民社保卡字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符 ;所述取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号;
以及将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符;其中字符从0至z依次对应数字0至61;
以及将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;
以及按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果;
解码模块用于:
读取编码结果,进行二进制转码得到初始解码符;
以及对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符;
以及对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡号字符
以及对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
结合第二方面,在第二方面的一种可实现方式中,编码模块具体用于:
将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符;
所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
结合第二方面,在第二方面的一种可实现方式中,解码模块具体用于:
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接;
在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果;
将初始编码结果按照每4位为一字节进行十六进制转换,得到编码结果。
结合第二方面,在第二方面的一种可实现方式中,解码模块具体用于:
取初始解码符中的第3位至第20位得到第一中间字符。取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
结合第二方面,在第二方面的一种可实现方式中,解码模块具体用于:
将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序。
将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
结合第二方面,在第二方面的一种可实现方式中,社保卡号编码表如下所示:
序号 字符 初始社保卡号显示符 序号 字符 初始社保卡号显示符
0 0 00 0000 31 V 01 1111
1 1 00 0001 32 W 10 0000
2 2 00 0010 33 X 10 0001
3 3 00 0011 34 Y 10 0010
4 4 00 0100 35 Z 10 0011
5 5 00 0101 36 a 10 0100
6 6 00 0110 37 b 10 0101
7 7 00 0111 38 c 10 0110
8 8 00 1000 39 d 10 0111
9 9 00 1001 40 e 10 1000
10 A 00 1010 41 f 10 1001
11 B 00 1011 42 g 10 1010
12 C 00 1100 43 h 10 1011
13 D 00 1101 44 i 10 1100
14 E 00 1110 45 j 10 1101
15 F 00 1111 46 k 10 1110
16 G 01 0000 47 l 10 1111
17 H 01 0001 48 m 11 0000
18 I 01 0010 49 n 11 0001
19 J 01 0011 50 o 11 0010
20 K 01 0100 51 p 11 0011
21 L 01 0101 52 q 11 0100
22 M 01 0110 53 r 11 0101
23 N 01 0111 54 s 11 0110
24 O 01 1000 55 t 11 0111
25 P 01 1001 56 u 11 1000
26 Q 01 1010 57 v 11 1001
27 R 01 1011 58 w 11 1010
28 S 01 1100 59 x 11 1011
29 T 01 1101 60 y 11 1100
30 U 01 1110 61 z 11 1101
其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
结合第二方面,在第二方面的一种可实现方式中,行政区代码表如下所示:
编码 省级区划 初始行政显示符 序号 省级区划 初始行政显示符
11 北京市 0000 1011 43 湖南省 0010 1011
12 天津市 0000 1100 44 广东省 0010 1100
13 河北省 0000 1101 45 广西壮族自治区 0010 1101
14 山西省 0000 1110 46 海南省 0010 1110
15 内蒙古自治区 0000 1111 50 重庆市 0011 0010
21 辽宁省 0001 0101 51 四川省 0011 0011
22 吉林省 0001 0110 52 贵州省 0011 0100
23 黑龙江省 0001 0111 53 云南省 0011 0101
31 上海市 0001 1111 54 西藏自治区 0011 0110
32 江苏省 0010 0000 61 陕西省 0011 1101
33 浙江省 0010 0001 62 甘肃省 0011 1110
34 安徽省 0010 0010 63 青海省 0011 1111
35 福建省 0010 0011 64 宁夏回族自治区 0100 0000
36 江西省 0010 0100 65 新疆维吾尔自治区 0100 0001
37 山东省 0010 0101 71 台湾省 0100 1000
41 河南省 0010 1001 81 香港特别行政区 0101 0001
42 湖北省 0010 1010 82 澳门特别行政区 0101 0010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
本申请创新性地提出用信息压缩编码算法解决居民社保卡中行政区划编码和社保卡号,共15个字符,因为包含F之后的字母及长度不能适配目前广泛使用的WG66安防门禁控制器的传输协议问题。
本申请在编码过程中,将6bit二进制流进行高位低位分离,最大程度保留了原有信息的目视可读性。
附图说明
图1为本申请实施例提供的一种用于安防门禁上的信息压缩编码方法的流程图;
图2为本申请实施例提供的一种用于安防门禁上的信息解码方法的流程图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面首先结合附图对本申请实施例进行介绍。
本申请提供的方法包括:
编码阶段以及解码阶段。
其中,编码阶段包括:
步骤S1,读取居民社保卡公开信息字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符。取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号。
具体的,行政区代码表如下所示:
表1:行政区代码表
编码 省级区划 初始行政显示符 序号 省级区划 初始行政显示符
11 北京市 0000 1011 43 湖南省 0010 1011
12 天津市 0000 1100 44 广东省 0010 1100
13 河北省 0000 1101 45 广西壮族自治区 0010 1101
14 山西省 0000 1110 46 海南省 0010 1110
15 内蒙古自治区 0000 1111 50 重庆市 0011 0010
21 辽宁省 0001 0101 51 四川省 0011 0011
22 吉林省 0001 0110 52 贵州省 0011 0100
23 黑龙江省 0001 0111 53 云南省 0011 0101
31 上海市 0001 1111 54 西藏自治区 0011 0110
32 江苏省 0010 0000 61 陕西省 0011 1101
33 浙江省 0010 0001 62 甘肃省 0011 1110
34 安徽省 0010 0010 63 青海省 0011 1111
35 福建省 0010 0011 64 宁夏回族自治区 0100 0000
36 江西省 0010 0100 65 新疆维吾尔自治区 0100 0001
37 山东省 0010 0101 71 台湾省 0100 1000
41 河南省 0010 1001 81 香港特别行政区 0101 0001
42 湖北省 0010 1010 82 澳门特别行政区 0101 0010
其中,行政区划识别码为社保卡发行地行政区划代码前两位对应为表1中的编码,将行政区划识别码转化为8bit二进制初始行政显示符。
步骤S2,将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符。其中字符从0至z依次对应数字0至61。
具体的,社保卡号编码表如下所示:
表2:社保卡号编码表
序号 字符 初始社保卡号显示符 序号 字符 初始社保卡号显示符
0 0 00 0000 31 V 01 1111
1 1 00 0001 32 W 10 0000
2 2 00 0010 33 X 10 0001
3 3 00 0011 34 Y 10 0010
4 4 00 0100 35 Z 10 0011
5 5 00 0101 36 a 10 0100
6 6 00 0110 37 b 10 0101
7 7 00 0111 38 c 10 0110
8 8 00 1000 39 d 10 0111
9 9 00 1001 40 e 10 1000
10 A 00 1010 41 f 10 1001
11 B 00 1011 42 g 10 1010
12 C 00 1100 43 h 10 1011
13 D 00 1101 44 i 10 1100
14 E 00 1110 45 j 10 1101
15 F 00 1111 46 k 10 1110
16 G 01 0000 47 l 10 1111
17 H 01 0001 48 m 11 0000
18 I 01 0010 49 n 11 0001
19 J 01 0011 50 o 11 0010
20 K 01 0100 51 p 11 0011
21 L 01 0101 52 q 11 0100
22 M 01 0110 53 r 11 0101
23 N 01 0111 54 s 11 0110
24 O 01 1000 55 t 11 0111
25 P 01 1001 56 u 11 1000
26 Q 01 1010 57 v 11 1001
27 R 01 1011 58 w 11 1010
28 S 01 1100 59 x 11 1011
29 T 01 1101 60 y 11 1100
30 U 01 1110 61 z 11 1101
其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
步骤S3,将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接。
具体的,将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符。
所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
步骤S4,按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果。
具体的,按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接。
在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果。
将初始编码结果按照每4位为一字符进行十六进制转换,得到编码结果。
需要说明的是,本申请实施例中,采用高位和地位相分离的方法,可以最大程度保留0-9、A-F的字符原样输出,提高了社保卡号的可读性。
举个例子,假如居民社保卡公开信息中的省级行政区划识别码字符为65,根据步骤S1,转化成8bit二进制的初始行政显示符为0100 0001。
社保卡号为D1234567X,转化成6bit二进制初始社保卡号显示符为00 1101 000001 00 0010 00 0011 00 0100 00 0101 00 0110 00 0111 10 0001.
如果不采用高位和地位相分离的办法,则对应得到补位后的64位二进制bit流:000100 0001 001101 000001 000010 000011 000100 000101 000110 000111 100001。再进行十六进制转化,得到:104D 0420 C414 61E1。
而如果采用本申请实施例提供的方法,补位后得到64位二进制bit流:00 00 0000 00 00 00 00 00 10 0100 0001 1101 0001 0010 0011 0100 0101 0110 0111 0001。十六进制转换结果为0000 241D 1234 5671。最大程度保留了原社保卡号中的“D1234567”。较之一般情况下,不采用高位与低位相分离的方法,原社保卡号中的信息的目视可读性加强。
解码过程包括:
步骤S5,读取编码结果,进行二进制转码得到初始解码符。
步骤S6,对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符。
具体的,取初始解码符中的第3位至第20位得到第一中间字符。取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
步骤S7,对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符。
具体的,将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序。
将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
具体的,第二中间字符即为社保卡号编码表中的初始社保卡号显示符,对应转化为字符,并将所有字符按顺序排列,即可得到居民社保卡号字符。
步骤S8,对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
本申请还提供了一种用于安防门禁上的信息压缩编码解码装置,装置包括:
编码阶段模块以及解码模块。
其中,编码模块用于:
读取居民社保卡字符,将其中行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符 。取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号。
以及将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符。其中字符从0至z依次对应数字0至61。
以及将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接。
以及按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果。
解码模块用于:
读取编码结果,进行二进制转码得到初始解码符。
以及对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符。
以及对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符
以及对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
可选的,编码模块具体用于:
将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符。
所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
可选的,解码模块具体用于:
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接。
在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果。
将初始编码结果按照每4位为一字节进行十六进制转换,得到编码结果。
可选的,解码模块具体用于:
取初始解码符中的第3位至第20位得到第一中间字符。取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
可选的,解码模块具体用于:
将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序。
将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
可选的,社保卡号编码表如下所示:
序号 字符 初始社保卡号显示符 序号 字符 初始社保卡号显示符
0 0 00 0000 31 V 01 1111
1 1 00 0001 32 W 10 0000
2 2 00 0010 33 X 10 0001
3 3 00 0011 34 Y 10 0010
4 4 00 0100 35 Z 10 0011
5 5 00 0101 36 a 10 0100
6 6 00 0110 37 b 10 0101
7 7 00 0111 38 c 10 0110
8 8 00 1000 39 d 10 0111
9 9 00 1001 40 e 10 1000
10 A 00 1010 41 f 10 1001
11 B 00 1011 42 g 10 1010
12 C 00 1100 43 h 10 1011
13 D 00 1101 44 i 10 1100
14 E 00 1110 45 j 10 1101
15 F 00 1111 46 k 10 1110
16 G 01 0000 47 l 10 1111
17 H 01 0001 48 m 11 0000
18 I 01 0010 49 n 11 0001
19 J 01 0011 50 o 11 0010
20 K 01 0100 51 p 11 0011
21 L 01 0101 52 q 11 0100
22 M 01 0110 53 r 11 0101
23 N 01 0111 54 s 11 0110
24 O 01 1000 55 t 11 0111
25 P 01 1001 56 u 11 1000
26 Q 01 1010 57 v 11 1001
27 R 01 1011 58 w 11 1010
28 S 01 1100 59 x 11 1011
29 T 01 1101 60 y 11 1100
30 U 01 1110 61 z 11 1101
其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
可选的,行政区代码表如下所示:
编码 省级区划 初始行政显示符 序号 省级区划 初始行政显示符
11 北京市 0000 1011 43 湖南省 0010 1011
12 天津市 0000 1100 44 广东省 0010 1100
13 河北省 0000 1101 45 广西壮族自治区 0010 1101
14 山西省 0000 1110 46 海南省 0010 1110
15 内蒙古自治区 0000 1111 50 重庆市 0011 0010
21 辽宁省 0001 0101 51 四川省 0011 0011
22 吉林省 0001 0110 52 贵州省 0011 0100
23 黑龙江省 0001 0111 53 云南省 0011 0101
31 上海市 0001 1111 54 西藏自治区 0011 0110
32 江苏省 0010 0000 61 陕西省 0011 1101
33 浙江省 0010 0001 62 甘肃省 0011 1110
34 安徽省 0010 0010 63 青海省 0011 1111
35 福建省 0010 0011 64 宁夏回族自治区 0100 0000
36 江西省 0010 0100 65 新疆维吾尔自治区 0100 0001
37 山东省 0010 0101 71 台湾省 0100 1000
41 河南省 0010 1001 81 香港特别行政区 0101 0001
42 湖北省 0010 1010 82 澳门特别行政区 0101 0010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
需要说明的是,本申请中解码以及编码过程均为独立过程,实施者根据需要可以仅实施其中一个过程。
下面结合具体例子,阐述本申请实施例。
安徽某居民持有的社保卡的省级行政区划识别码为34,社保卡号为JB468994X。根据步骤S1,34压缩为34(安徽省省级行政区划代码),二进制bit流为0010 0010。
根据步骤S2,JB468994X编码为010011 001011 000100 000110 001000 001001001001 000100 100001。
根据步骤S3,以J对应的010011为例,其中,前两位01为高位,后四位0011为低位。
根据步骤S4,高位社保卡号显示符拼接结果为01 00 00 00 00 00 00 00 10 ,低位社保卡号显示符凭借结果为0011 1011 0100 0110 1000 1001 1001 0100 0001。
在高位社保卡号显示符之前两位用0进行补位,并按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,得到0001 0000 0000 00000010 0010 0010 0011 1011 0100 0110 1000 1001 1001 0100 0001,进行十六进制转换,得到编码结果为10 00 22 23 B4 68 99 41。
在解码过程中,根据步骤S5,首先得到十六进制社保卡信息为:10 00 22 23 B468 99 41。然后对以上信息进行二进制转码,得到本申请实施例中的64位初试解码符:
0001000000000000001000100010001110110100011010001001100101000001。
根据步骤S6以及S7,得到居民社保卡字符对应的二进制流为010011 001011000100 000110 001000 001001 001001 000100 100001,居民社保卡字符为JB468994X。
根据步骤S8,行政区划编码前两位为34。
本申请创新性地提出用信息压缩编码算法解决居民社保卡中行政区划编码和社保卡号,共15个字符,因为包含F之后的字母及长度不能适配目前广泛使用的WG66安防门禁控制器的传输协议问题。
本申请在编码过程中,将6bit二进制流进行高位低位分离,最大程度保留了原有信息的目视可读性。
本领域的技术人员可以清楚地了解到本申请实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于服务构建装置和服务加载装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
以上所述的本申请实施方式并不构成对本申请保护范围的限定。

Claims (10)

1.一种用于安防门禁上的信息压缩编码解码方法,其特征在于,所述方法包括:
编码阶段以及解码阶段;
其中,编码阶段包括:
读取居民社保卡公开信息字符,将其中行政区代码表作为整体转化为8bit二进制的初始行政显示符;所述取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的唯一的9个字符的社保卡号;
将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符;其中字符从0至z依次对应数字0至61;
将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果;
解码过程包括:
读取编码结果,进行二进制转码得到初始解码符;
对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符;
对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡号字符;
对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
2.根据权利要求1所述的方法,其特征在于,将初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接,包括:
将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符;
所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
3.根据权利要求1所述的方法,其特征在于,按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果,包括:
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接;
在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果;
将初始编码结果按照每4位为一字符进行十六进制转换,得到编码结果。
4.根据权利要求1所述的方法,其特征在于,对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符,包括:
取初始解码符中的第3位至第20位得到第一中间字符;取第21位至第28位得到第二中间字符,取第29位至第64位得到第三中间字符。
5.根据权利要求1所述的方法,其特征在于,对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡号字符,包括:
将第一中间字符以每两位为一单元进行顺序排序,第三中间字符以每四位为一单元进行顺序排序;
将第一中间字符与第三中间字符中排序序号相同的单元进行拼接,按照社保卡号编码表进行解码,得到对应的居民社保卡号字符。
6.根据权利要求1所述的方法,其特征在于,社保卡号编码表如下所示:
序号 字符 初始社保卡号显示符 序号 字符 初始社保卡号显示符 0 0 00 0000 31 V 01 1111 1 1 00 0001 32 W 10 0000 2 2 00 0010 33 X 10 0001 3 3 00 0011 34 Y 10 0010 4 4 00 0100 35 Z 10 0011 5 5 00 0101 36 a 10 0100 6 6 00 0110 37 b 10 0101 7 7 00 0111 38 c 10 0110 8 8 00 1000 39 d 10 0111 9 9 00 1001 40 e 10 1000 10 A 00 1010 41 f 10 1001 11 B 00 1011 42 g 10 1010 12 C 00 1100 43 h 10 1011 13 D 00 1101 44 i 10 1100 14 E 00 1110 45 j 10 1101 15 F 00 1111 46 k 10 1110 16 G 01 0000 47 l 10 1111 17 H 01 0001 48 m 11 0000 18 I 01 0010 49 n 11 0001 19 J 01 0011 50 o 11 0010 20 K 01 0100 51 p 11 0011 21 L 01 0101 52 q 11 0100 22 M 01 0110 53 r 11 0101 23 N 01 0111 54 s 11 0110 24 O 01 1000 55 t 11 0111 25 P 01 1001 56 u 11 1000 26 Q 01 1010 57 v 11 1001 27 R 01 1011 58 w 11 1010 28 S 01 1100 59 x 11 1011 29 T 01 1101 60 y 11 1100 30 U 01 1110 61 z 11 1101
其中,字符从0至z依次对应数字0至61,将每一字符对应到目标数字上,再将目标数字转化为6bit二进制表现形式。
7.根据权利要求1所述的方法,其特征在于,行政区代码表如下所示:
编码 省级区划 初始行政显示符 序号 省级区划 初始行政显示符 11 北京市 0000 1011 43 湖南省 0010 1011 12 天津市 0000 1100 44 广东省 0010 1100 13 河北省 0000 1101 45 广西壮族自治区 0010 1101 14 山西省 0000 1110 46 海南省 0010 1110 15 内蒙古自治区 0000 1111 50 重庆市 0011 0010 21 辽宁省 0001 0101 51 四川省 0011 0011 22 吉林省 0001 0110 52 贵州省 0011 0100 23 黑龙江省 0001 0111 53 云南省 0011 0101 31 上海市 0001 1111 54 西藏自治区 0011 0110 32 江苏省 0010 0000 61 陕西省 0011 1101 33 浙江省 0010 0001 62 甘肃省 0011 1110 34 安徽省 0010 0010 63 青海省 0011 1111 35 福建省 0010 0011 64 宁夏回族自治区 0100 0000 36 江西省 0010 0100 65 新疆维吾尔自治区 0100 0001 37 山东省 0010 0101 71 台湾省 0100 1000 41 河南省 0010 1001 81 香港特别行政区 0101 0001 42 湖北省 0010 1010 82 澳门特别行政区 0101 0010
其中,行政区划识别码为社保卡发行地行政区划代码前两位,将行政区划识别码转化为8bit二进制初始行政显示符。
8.一种用于安防门禁上的信息压缩编码解码装置,其特征在于,所述装置包括:
编码阶段模块以及解码模块;
其中,编码模块用于:
读取居民社保卡公开信息字符,将其中省级行政区划识别码按照行政区代码表作为整体转化为8bit二进制的初始行政显示符 ;所述取居民社保卡包括6个字符的行政区划代码以及每个直辖市、省、自治区内的每张卡唯一的9个字符的社保卡号;
以及将社保卡号中的每一位字符按照预先确定的社保卡号编码表,转化为6bit二进制初始社保卡号显示符;其中字符从0至z依次对应数字0至61;
以及将每一初始社保卡号显示符划分为高位社保卡号显示符,以及低位社保卡号显示符,并对所有高位社保卡号显示符以及低位社保卡号显示符进行拼接;
以及按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接,并进行补位处理,以及十六进制转换,得到编码结果;
解码模块用于:
读取编码结果,进行二进制转码得到初始解码符;
以及对初始解码符进行划分,得到第一中间字符、第二中间字符以及第三中间字符;
以及对第一中间字符以及第三中间字符进行拆解以及重组处理,对重组后的字符进行解码,得到居民社保卡字符
以及对第二中间字符按照行政区代码表进行解码,得到对应的行政区划识别码。
9.根据权利要求8所述的装置,其特征在于,编码模块具体用于:
将初始社保卡号显示符中的前两位作为高位社保卡号显示符,将初始社保卡号显示符中的后四位作为低位社保卡号显示符;
所有高位社保卡号显示符按照社保卡号中原字符的顺序进行拼接,所有低位社保卡号显示符按照社保卡号中原字符的顺序进行拼接。
10.根据权利要求8所述的装置,其特征在于,解码模块具体用于:
按照高位社保卡号显示符、初始行政显示符以及低位社保卡号显示符的顺序将三者进行拼接;
在高位社保卡号显示符之前两位用0进行补位,得到初始编码结果;
将初始编码结果按照每4位为一字符进行十六进制转换,得到编码结果。
CN202211076188.9A 2022-09-05 2022-09-05 一种用于安防门禁上的信息压缩编码解码方法及装置 Active CN115169289B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211076188.9A CN115169289B (zh) 2022-09-05 2022-09-05 一种用于安防门禁上的信息压缩编码解码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211076188.9A CN115169289B (zh) 2022-09-05 2022-09-05 一种用于安防门禁上的信息压缩编码解码方法及装置

Publications (2)

Publication Number Publication Date
CN115169289A true CN115169289A (zh) 2022-10-11
CN115169289B CN115169289B (zh) 2023-09-26

Family

ID=83481388

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211076188.9A Active CN115169289B (zh) 2022-09-05 2022-09-05 一种用于安防门禁上的信息压缩编码解码方法及装置

Country Status (1)

Country Link
CN (1) CN115169289B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919882A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种二维码内容转为纯数字符号编码的方法
CN109544769A (zh) * 2019-01-17 2019-03-29 福州符号信息科技有限公司 一种基于韦根协议的门禁系统及控制方法
CN112529231A (zh) * 2021-02-08 2021-03-19 北京翔东智能科技有限公司 一种社保卡信息采集系统及其采集方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106919882A (zh) * 2015-12-28 2017-07-04 航天信息股份有限公司 一种二维码内容转为纯数字符号编码的方法
CN109544769A (zh) * 2019-01-17 2019-03-29 福州符号信息科技有限公司 一种基于韦根协议的门禁系统及控制方法
CN112529231A (zh) * 2021-02-08 2021-03-19 北京翔东智能科技有限公司 一种社保卡信息采集系统及其采集方法

Also Published As

Publication number Publication date
CN115169289B (zh) 2023-09-26

Similar Documents

Publication Publication Date Title
US7965207B2 (en) Variable length integer encoding system and method
CN112711935A (zh) 编码方法、解码方法、装置及计算机可读存储介质
EP1040618B1 (en) Method and apparatus for simultaneously encrypting and compressing data
EP2901643B1 (en) An apparatus for, a method of, and a network server for detecting data patterns in a data stream
CN106549673B (zh) 一种数据压缩方法及装置
CN104579360B (zh) 一种数据处理的方法和设备
CN101645256B (zh) 液晶显示装置的过驱动查找表的产生器及其产生方法
EP3317971B1 (en) Data processing method and apparatus
CN113676190A (zh) 一种Polar码编码方法、装置
CN101008890A (zh) 整型数据的压缩方法、装置及解压缩方法、装置
CN104123364A (zh) 一种移动终端发送和接收数据的方法及装置
KR20150105486A (ko) 데이터 인코더, 데이터 디코더 및 방법
Nandi et al. A compression technique based on optimality of LZW code (OLZW)
CN106919882A (zh) 一种二维码内容转为纯数字符号编码的方法
CN114915295B (zh) 一种特定条件下超越熵极限的符号编码方法
CN115169289A (zh) 一种用于安防门禁上的信息压缩编码解码方法及装置
CN111708574B (zh) 指令流压缩、解压缩方法及装置
CN112464619B (zh) 大数据处理方法、装置、设备及计算机可读存储介质
CN112052228A (zh) 一种基于标准欧几里德空间与平面空间投影互为映射的二进制编码方法
CN112016270B (zh) 汉信码的物流信息编码方法、装置及设备
CN103257977B (zh) 获取标识号码的方法及装置
CN115603758A (zh) 一种客户号压缩和解压方法及装置
CN115242402A (zh) 签名方法、验签方法及电子设备
CN110705997A (zh) 一种兼容异构系统的防伪编码方法
CN108108267A (zh) 数据的恢复方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant