本项目是对"ISO/IEC 19794-11"数据格式验证的python实现,目前可以使用BER(Basic Encoding Rules)、PER(Packed Encoding Rules)、XER(Xml Encoding Rules)编码规则对数据进行编码和解码,对于PER有对齐per,非对齐uper两种编解码方式选择。文件sign_data.asn依据"ISO/IEC 19794-11"编写,并修正了一些错误内容。
-
编码命令:./SignDataTest.py -a pathname/sign_data.asn -s pathname/test_sheet.xlsx -e ber -o pathname/testBer.txt
用于读取test_sheet.xlsx的内容,使用BER进行编码,并将编码结果输出到testBer.txt中(因为是二进制文件看不到内容) -
解码命令:./SignDataTest.py -a pathname/sign_data.asn -s pathname/test_sheet.xlsx -d ber -i pathname/testBer.txt -o pathname/testBerResult.xls
用于读取testBer.txt中的编码结果,使用BER进行解码,并将解码结果输出到testBerResult.xls中,可以打开此文件比较测试数据和测试结果来验证编解码的正确性。
-
编码命令:./SignDataTest.py -a pathname/sign_data.asn -s pathname/test_sheet.xlsx -e per -o pathname/testPer.txt
用于读取test_sheet.xlsx的内容,使用PER进行编码,并将编码结果输出到testPer.txt中(因为是二进制文件看不到内容,但文件Size比BER小) -
解码命令:./SignDataTest.py -a pathname/sign_data.asn -s pathname/test_sheet.xlsx -d per -i pathname/testPer.txt -o pathname/testPerResult.xls
用于读取testPer.txt中的编码结果,使用PER进行解码,并将解码结果输出到testPerResult.xls中,可以打开此文件比较测试数据和测试结果来验证编解码的正确性。
-
编码命令:./SignDataTest.py -a pathname/sign_data.asn -s pathname/test_sheet.xlsx -e xer -o pathname/testXer.txt
用于读取test_sheet.xlsx的内容,使用XER进行编码,并将编码结果输出到testXer.txt中(文件内容是XML格式,可以看到内容) -
解码命令:./SignDataTest.py -a pathname/sign_data.asn -s pathname/test_sheet.xlsx -d xer -i pathname/testXer.txt -o pathname/testXerResult.xls
用于读取testXer.txt中的编码结果,使用XER进行解码,并将解码结果输出到testXerResult.xls中,可以打开此文件比较测试数据和测试结果来验证编解码的正确性。
usage: SignDataTest.py [-h] [-e ENCODE] [-d DECODE] [-i INPUT] [-o OUTPUT] [-a ASN] [-s XLS]
optional arguments:
-h, --help show this help message and exit
-e ENCODE, --encode ENCODE encode data and output to a file
-d DECODE, --decode DECODE decode data from a file and output to a file
-i INPUT, --input INPUT read encoded data from a file
-o OUTPUT, --output OUTPUT save encode/decode data to a file
-a ASN, --asn ASN asn file pathname
-s XLS, --xls XLS test data sheet file pathname
./Layer1Test.py -s pathname/test_sheet.xlsx -t all
usage: Layer1Test.py [-h] [-s XLS] [-t TYPE]
optional arguments:
-h, --help show this help message and exit
-s XLS, --xls XLS test data sheet file pathname
-t TYPE, --type TYPE testing according to data type , -t [B,M,...] or -t [all] for B,M,MB,SS
./Layer2Test.py -s pathname/test_sheet.xlsx
usage: Layer2Test.py [-h] [-s XLS]
optional arguments:
-h, --help show this help message and exit
-s XLS, --xls XLS test data sheet file pathname
./DataGen.py -s pathname/test_sheet.xlsx -o pathname/test_temp_data.xls -f formal
usage: DataGen.py [-h] [-s XLS] [-o OUTPUT] [-f FLAG]
optional arguments:
-h, --help show this help message and exit
-s XLS, --xls XLS test data sheet file pathname
-o OUTPUT, --output OUTPUT
save encode/decode data to a file
-f FLAG, --flag FLAG generator data rule, [formal] according to dataRange or [any] not caring
dataRange