CN117240842A - 一种字节序的有效位转换方法、装置、设备及介质 - Google Patents
一种字节序的有效位转换方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117240842A CN117240842A CN202311107459.7A CN202311107459A CN117240842A CN 117240842 A CN117240842 A CN 117240842A CN 202311107459 A CN202311107459 A CN 202311107459A CN 117240842 A CN117240842 A CN 117240842A
- Authority
- CN
- China
- Prior art keywords
- value
- signal
- determining
- variable
- significant bit
- 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.)
- Pending
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 55
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims abstract description 46
- 239000011159 matrix material Substances 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 16
- 230000009191 jumping Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000014509 gene expression Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Communication Control (AREA)
Abstract
本申请公开了一种字节序的有效位转换方法、装置、设备及介质,涉及通信技术领域,包括:获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。可见,本申请能够基于字节序、信号长度以及获取到的第一有效位数值实现有效位的转换,以便用户进行查看,转换过程中无需判断目标信号是否跨字节,降低转换复杂度、减少计算量。
Description
技术领域
本发明涉及通信技术领域,特别涉及一种字节序的有效位转换方法、装置、设备及介质。
背景技术
在DBC文件(Database Can,Can的数据库文件,或通信矩阵数据库文件)中,针对跨字节的信号,有大端序(Motorola)和小端序(Intel)两种字节序,由于不同的车厂商设计者风格不一,工程师拿到DBC文件时,可以发现小端序的信号起始位是最低有效位LSB(LeastSignificant Bit)的数值,但是大端序的信号,只能看到最高有效位MSB(MostSignificant Bit)的数值。一方面,对于大端序的信号,在计算信号起始位时,需要判断信号是否跨字节,甚至需要跨字节来逐个计算起始位,另一方面,实际应用场景中,有时需要将某一字节序下的有效位进行转换,并将转换结果供用户查看。
为此,如何获取信号的真正起始位,以及如何实现字节序的最高有效位数值和最低有效位数值的转换,以便用户进行查看,是本领域亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种字节序的有效位转换方法、装置、设备及介质,能够获取信号的真正起始位,以及实现字节序的最高有效位数值和最低有效位数值的转换,以便用户进行查看,其具体方案如下:
第一方面,本申请公开了一种字节序的有效位转换方法,包括:
获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;
基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。
可选的,所述对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值,包括:
对所述目标通信矩阵数据库文件进行解析,得到目标信号的大端序、第一信号长度和最高有效位数值。
可选的,所述基于报文长度和所述字节序确定信号布局列表,包括:
基于所述报文长度确定第一遍历轮次和第一变量的第一变量取值范围;
在每一遍历轮次中,按照第一取值顺序从所述第一变量取值范围内确定出一个所述第一变量的变量值;
根据所述第一变量的变量值确定当前遍历轮次的当前遍历范围,并根据所述当前遍历范围进行遍历,然后跳转至所述按照第一取值顺序从所述第一变量取值范围内确定出一个所述第一变量的变量值的步骤,直至遍历轮次达到所述第一遍历轮次,得到第一信号布局列表。
可选的,所述根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,包括:
从所述第一信号布局列表中确定出索引为所述最高有效位数值的第一数值;
确定所述第一数值与所述第一信号长度的第一和值,并确定所述第一和值与1的差值,得到最低有效位数值的索引;
根据所述最低有效位数值的索引从所述第一信号布局列表中确定出所述最低有效位数值。
可选的,所述对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值,包括:
对所述目标通信矩阵数据库文件进行解析,得到目标信号的小端序、第二信号长度和最低有效位数值。
可选的,所述基于报文长度和所述字节序确定信号布局列表,包括:
基于所述报文长度确定第二遍历轮次和第二变量的第二变量取值范围;
在每一遍历轮次中,按照第二取值顺序从所述第二变量取值范围内确定出一个所述第二变量的变量值;
根据所述第二变量的变量值确定当前遍历轮次的当前遍历范围,并根据所述当前遍历范围进行遍历,然后跳转至所述按照第二取值顺序从所述第二变量取值范围内确定出一个所述第二变量的变量值的步骤,直至遍历轮次达到所述第二遍历轮次,得到第二信号布局列表。
可选的,所述根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,包括:
从所述第二信号布局列表中确定出索引为所述最低有效位数值的第二数值;
确定所述第二数值与所述第二信号长度的第二和值,并确定所述第二和值与1的差值,得到最高有效位数值的索引;
根据所述最高有效位数值的索引从所述第二信号布局列表中确定出所述高低有效位。
第二方面,本申请公开了一种字节序的有效位转换装置,包括:
解析模块,用于获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;
有效位转换模块,用于基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述公开的字节序的有效位转换方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的字节序的有效位转换方法。
可见,本申请提出一种字节序的有效位转换方法,包括:获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。综上可见,由于字节序可以包括大端序和小端序,有效位可以包括最高有效位和最低有效位,因此,一方面,当本申请中的字节序为大端序时,本申请可以获取的是最高有效位数值,进而根据报文长度和所述大端序确定出信号布局列表,然后基于所述信号长度和所述最高有效位数值从所述信号布局列表中确定最低有效位数值,得到信号真正的起始位。也即,本申请无需判断信号是否跨字节,也无需跨字节逐个起始位。另一方面,当本申请中的字节序为小端序时,本申请可以获取的是最低有效位数值,进而根据报文长度和所述小端序确定出信号布局列表,然后基于所述信号长度和所述最低有效位数值从所述信号布局列表中确定最高有效位数值,实现了最低有效位数值和最高有效位数值的转换。由上可见,本申请有效位的转换过程无需判断信号是否跨字节,降低了转换复杂度、减少了计算量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种字节序的有效位转换方法流程图;
图2为本申请公开的一种具体的字节序的有效位转换方法流程图;
图3为本申请公开的一种字节序的有效位转换装置结构示意图;
图4为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一方面,对于大端序的信号,在计算信号起始位时,需要判断信号是否跨字节,甚至需要跨字节来逐个计算起始位,另一方面,实际应用场景中,有时需要将某一字节序下的有效位进行转换,并将转换结果供用户查看。
为此,本申请实施例提出一种字节序的有效位转换方案,能够获取信号的真正起始位,以及实现字节序的最高有效位数值和最低有效位数值的转换,以便用户进行查看。
本申请实施例公开了一种字节序的有效位转换方法,参见图1所示,该方法包括:
步骤S11:获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值。
本实施例中,获取目标通信矩阵数据库文件,并通过python的re库(regularexpression,正则表达式的支持库)按行解析所述目标通信矩阵数据库文件。需要指出的是,在以文本形式打开目标通信矩阵数据库文件时,对于大端序,只能看到最高有效位数值,此时,如果想提取某一段信号,则需要知道该信号的真正起始位,也即该信号的最低有效位数值,因此,需要进行有效位的转换,在转换过程中,往往需要跨字节进行起始位的计算,这样一来,增加了计算复杂度和出错率,为此,本申请提供一种转换方法,能够实现大端序的有效位数值的转换,以及小端序的有效位数值的转换,供用户查看,如下所示:
在一种具体的实施方式中,解析所述目标通信矩阵数据库文件得到目标信号的大端序、第一信号长度和最高有效位数值。其中,所述大端序也称大端模式,大端模式是DBC文件中定义的字节序,高位在低字节,低位在高字节,第一信号长度是目标信号的信号长度。示例性的,解析目标通信矩阵数据库文件得到SG_SignalName:7|10@0+(0.01,0)[0|10.23]""ReceiveNodeName,其中,@符号之后的0表示该信号的字节序为大端序,根据该组数据还可以得到第一信号长度是10,最高有效位数值是7。
在另一种具体的实施方式中,解析所述目标通信矩阵数据库文件得到目标信号的小端序、第二信号长度和最低有效位数值。其中,所述小端序也称小端模式,小端模式是DBC文件中定义的字节序,与大端模式相对应,低位在低字节,高位在高字节。示例性的,解析目标通信矩阵数据库文件得到SG_SignalName:28|12@1+(0.1,-200)[-200|209.5]""ReceiveNodeName,其中,@符号之后的1表示该信号的字节序为小端序,根据该组数据还可以得到第二信号长度为12,最低有效位数值为28。
步骤S12:基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。
在一种具体的实施方式中,如果解析得到的是目标信号的大端序、第一信号长度和最高有效位数值(也即本实施例中的第一有效位数值),则基于所述报文长度确定第一遍历轮次和第一变量的第一变量取值范围,并在每一遍历轮次中,按照第一取值顺序从所述第一变量取值范围内确定出一个所述第一变量的变量值,进一步的,根据所述第一变量的变量值确定当前遍历轮次的当前遍历范围,并根据所述当前遍历范围进行遍历,然后跳转至所述按照第一取值顺序从所述第一变量取值范围内确定出一个所述第一变量的变量值的步骤,直至遍历轮次达到所述第一遍历轮次,得到第一信号布局列表。
在一种具体的实施方式中,本实施例从i*8+7到i*8-1进行反序遍历,其中,反序遍历是指由遍历范围中的最大值向最小值进行遍历,i是第一变量,第一变量的第一变量取值范围由报文长度控制,除此之外,第一遍历轮次的取值也由报文长度控制。示例性的,假设报文长度为8,则第一变量取值范围是[0,7],即i=0,1,2…7,同时,第一遍历轮次为8次。进一步的,本实施例中的第一取值顺序为递增取值顺序,也即,在第一轮遍历中,取i=0,根据i=0确定第一轮的遍历范围是7到0,需要指出的是,将i=0带入i*8+7到i*8-1后,实际得到的遍历范围是7到-1,但是在python语法中,遍历范围的左边也即7可以遍历到,而遍历范围的右边遍历到的是-1的前一位也即0,如此一来,本实施例得到了第一轮遍历结果是从7遍历到0,按照上述规律,第二轮遍历中,取i=1,第二轮遍历结果是15到8,进一步的,第三轮遍历结果是23到16,第四轮遍历结果是31到24,第五轮遍历结果是39到32,第六轮遍历结果是47到40,第七轮遍历结果是55到48,第八轮的遍历结果是63到56,最后,由上述遍历结果得到的所述第一信号布局列表,如下所示:
[7,6,5,4,3,2,1,0,
15,14,13,12,11,10,9,8,
23,22,21,20,19,18,17,16,
31,30,29,28,27,26,25,24,
39,38,37,36,35,34,33,32,
47,46,45,44,43,42,41,40,
55,54,53,52,51,50,49,48,
63,62,61,60,59,58,57,56]。
进一步的,在得到所述第一信号布局列表后,从所述第一信号布局列表中确定出索引为所述最高有效位数值的第一数值,并确定所述第一数值与所述第一信号长度的第一和值,然后确定所述第一和值与1的差值,得到最低有效位数值的索引,最后,根据所述最低有效位数值的索引从所述第一信号布局列表中确定出所述最低有效位数值。示例性的,由前述内容可知,本实施例通过解析目标通信矩阵数据库文件得到了最高有效位数值为7,则在第一布局列表中获取索引为7的第一数值“0”,0与信号第一信号长度10相加得到第一和值是10,第一和值10减去1,即可得到最低有效位数值的索引9,获取索引9在第一布局列表中的数值“14”,该数值即为该信号的最低有效位数值(也即本实施例中的第二有效位数值)。
在另一种具体的实施方式中,如果解析得到的是目标信号的小端序、第二信号长度和最低有效位数值(也即本实施例中的第一有效位数值),则基于所述报文长度确定第二遍历轮次和第二变量的第二变量取值范围,并在每一遍历轮次中,按照第二取值顺序从所述第二变量取值范围内确定出一个所述第二变量的变量值,进一步的,根据所述第二变量的变量值确定当前遍历轮次的当前遍历范围,并根据所述当前遍历范围进行遍历,然后跳转至所述按照第二取值顺序从所述第二变量取值范围内确定出一个所述第二变量的变量值的步骤,直至遍历轮次达到所述第二遍历轮次,得到第二信号布局列表。
在一种具体的实施方式中,本实施例从t*8到t*8+8正序遍历,其中,正序遍历是指由遍历范围中的最小值向最大值进行遍历,t是第二变量,第二变量的第二变量取值范围由报文长度控制,第二遍历轮次的取值也由报文长度控制。示例性的,假设报文长度为8,则第二变量取值范围是[0,7],即t=0,1,2…7,同时,第二遍历轮次为8次。进一步的,本实施例中的第二取值顺序为递增取值顺序,也即,在第一轮遍历中,取t=0,根据t=0确定第一轮的遍历范围是0到7,需要指出的是,将t=0带入t*8到t*8+8后,实际得到的遍历范围是0到8,但是在python语法中,遍历范围的左边也即0可以遍历到,而遍历范围的右边遍历到的是8的前一位也即7,如此一来,本实施例得到了第一轮遍历结果是从0遍历到7,按照上述规律,第二轮遍历中,取t=1,第二轮遍历结果是8到15,第三轮遍历结果是16到23,第四轮遍历结果是24到31,第五轮遍历结果是32到39,第六轮遍历结果是40到47,第七轮遍历结果是48到55,第八轮的遍历结果是56到63,最后,由上述遍历结果得到的所述第二信号布局列表,如下所示:
[0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,
48,49,50,51,52,53,54,55,
56,57,58,59,60,61,62,63]。
进一步的,在得到所述第二信号布局列表后,从所述第二信号布局列表中确定出索引为所述最低有效位数值的第二数值,并确定所述第二数值与所述第二信号长度的第二和值,然后确定所述第二和值与1的差值,得到最高有效位数值的索引,最后,根据所述最高有效位数值的索引从所述第二信号布局列表中确定出所述高低有效位。示例性的,由前述内容可知,本实施例通过解析目标通信矩阵数据库文件得到了最低有效位数值为28,则在第二布局列表中获取索引为28的第二数值“28”,28与第二信号长度12相加得到第二和值是40,第二和值40减去1,即可得到最高有效位数值的索引39,获取索引39在第二布局列表中的数值“39”,该数值即为该信号的最高有效位数值(也即本实施例中的第二有效位数值)。
参见图2所示,图2为本申请公开的一种具体的字节序的有效位转换方法,首先获取目标通信矩阵数据库文件,并进行解析,然后判断字节序是否为大端序,如果是,则获取最高有效位数值,并根据报文长度和最高有效位产生第一信号布局列表,在第一信号布局列表中获取索引为最高有效位数值对应的数值,该数值与信号长度相加减1,即可得到最低有效位数值在第一信号布局列表中的索引,根据获取的索引,在第一信号布局列表中获取该索引对应的数值,该值即为最低有效位数值。如果字节序为小端序,则获取最低有效位数值,并根据报文长度和最低有效位产生第二信号布局列表,在第二信号布局列表中获取索引为最低有效位数值对应的数值,该数值与信号长度相加减1,即可得到最高有效位数值在第二信号布局列表中的索引,根据获取的索引,在第二信号布局列表中获取该索引对应的数值,该值即为最高有效位数值,最后,在转换完成后,将转换结果存入excel表中,供用户查看。
可见,本申请提出一种字节序的有效位转换方法,包括:获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。综上可见,由于字节序可以包括大端序和小端序,有效位可以包括最高有效位数值和最低有效位数值,因此,一方面,当本申请中的字节序为大端序时,本申请可以获取的是最高有效位数值,进而根据报文长度和所述大端序确定出信号布局列表,然后基于所述信号长度和所述最高有效位数值从所述信号布局列表中确定最低有效位数值,得到信号真正的起始位。也即,本申请无需判断信号是否跨字节,也无需跨字节逐个起始位。另一方面,当本申请中的字节序为小端序时,本申请可以获取的是最低有效位数值,进而根据报文长度和所述小端序确定出信号布局列表,然后基于所述信号长度和所述最低有效位数值从所述信号布局列表中确定最高有效位数值,实现了最低有效位数值和最高有效位数值的转换。由上可见,本申请有效位的转换过程无需判断信号是否跨字节,降低了转换复杂度、减少了计算量。
需要指出的是,本申请除了能够进行上述的转换,还能够在大端序下,在已知最低有效位数值时,反向转换得到最高有效位数值,在小端序下,在已知最高有效位数值时,反向转换得到最低有效位数值。
在一种具体的实施方式中,在大端序下,获取的是最低有效位数值,转换为最高有效位数值。本实施方式中,从i*8+7到i*8-1反序遍历,并在反序遍历完成后将整组遍历结果进行反序排列。具体内容如下:x是第三变量,第三变量的第三变量取值范围由报文长度控制,第三遍历轮次也由报文长度控制,示例性的,假设报文长度为8,则第三变量取值范围是[0,7],即x=0,1,2…7,同时,第三遍历轮次为8次。在第一轮遍历中,取x=0,根据x=0确定第一轮的遍历范围是7到0,按照上述规律,第二轮遍历中,取x=1,第二轮遍历结果是15到8,进一步的,第三轮遍历结果是23到16,第四轮遍历结果是31到24,第五轮遍历结果是39到32,第六轮遍历结果是47到40,第七轮遍历结果是55到48,第八轮的遍历结果是63到56,最后,将所有遍历结果反序排列,得到了第三信号布局列表,如下所示:
[56,57,58,59,60,61,62,63,
48,49,50,51,52,53,54,55,
40,41,42,43,44,45,46,47,
32,33,34,35,36,37,38,39,
24,25,26,27,28,29,30,31,
16,17,18,19,20,21,22,23,
8,9,10,11,12,13,14,15,
0,1,2,3,4,5,6,7]。
需要指出的是,本实施例之所以对遍历结果进行整体的反序排列,是由于如果按照反序排列结果之前的信号布局列表进行有效位转换会导致转换结果超出信号布局列表,示例性的,整体反序排列之前的信号布局列表也即本申请中的第一信号布局列表,假设已知最低有效位是56,则在信号布局列表中获取索引为56的数值“63”,63与信号长度10相加减去1,即可得到最高有效位的索引是72,可以看出的是,信号布局列表的最高索引是63,72已经超出该信号布局列表所规定的索引,因此,需要对信号布局列表进行反序排列,以得到上述第三信号布局列表。按照反序排列之后的第三信号布局列表,在已知最低有效位是56时,在第三信号布局列表中获取索引为56的数值“0”,0与信号长度10相加减去1,即可得到最高有效位的索引是9,进一步的,获取第三信号布局列表中索引为9的数值49。
进一步的,在第一信号布局列表中由最高有效位7得到了最低有效位14,在本实施例中,在得到了最低有效位14的情况下,可以由第三信号布局列表反推得到最高有效位7,具体的,在第三信号布局列表中获取索引为14的数值“54”,54与信号长度10相加减去1,即可得到最高有效位的索引63,根据得到的索引63,在第三布局列表中获取该索引的数值“7”,该值即为该信号的最高有效位数值。
在另一种具体的实施方式中,在小端序下,获取的是最高有效位数值,转换为LSB最低有效位数值。本实施例中,从i*8到i*8+8正序遍历。具体内容如下:y是第四变量,第四变量的第四变量取值范围由报文长度控制,第四遍历轮次也由报文长度控制,示例性的,假设报文长度为8,则第四变量取值范围是[0,7],即y=0,1,2…7,同时,第四遍历轮次为8次。在第一轮遍历中,取y=0,根据y=0确定第一轮的遍历范围是0到7,按照上述规律,第二轮遍历中,取y=1,第二轮遍历结果是8到15,第三轮遍历结果是16到23,第四轮遍历结果是24到31,第五轮遍历结果是32到39,第六轮遍历结果是40到47,第七轮遍历结果是48到55,第八轮的遍历结果是56到63,最后,由上述遍历结果得到的所述第四信号布局列表,如下所示:
[0,1,2,3,4,5,6,7,
8,9,10,11,12,13,14,15,
16,17,18,19,20,21,22,23,
24,25,26,27,28,29,30,31,
32,33,34,35,36,37,38,39,
40,41,42,43,44,45,46,47,
48,49,50,51,52,53,54,55,
56,57,58,59,60,61,62,63];
进一步的,在第二信号布局列表中由最低有效位28得到了最高有效位39,在本实施例中,在得到了最高有效位39的情况下,可以由第四信号布局列表反推得到最低有效位28,具体的,在第四信号布局列表中获取索引为39对应的数值“39”,39与信号长度12相减再加1,即可得到最低有效位的索引28,根据得到的索引28,在第四信号布局列表中获取该索引的数值“28”,该值即为该信号的最低有效位数值。
最后,在转换完成后,将转换结果存入excel表中,供用户查看。
综上可见,本申请在根据大端模式的最高起始位数值计算起始位时,不需要用户判断信号是否跨字节,甚至跨多个字节来逐个计算起始位,仅需要传入报文长度,信号字节序,信号长度,以及读取的信号起始位,即可动态地生成布局列表,自动计算真正的起始位,不会出现出错的风险。另外,本申请还可以在字节序为大端序时,在已知最低有效位数值时,反向转换得到最高有效位数值,在字节序为小端序时,在已知最低有效位数值时,转换得到最高有效位数值,在字节序为小端序时,在已知最高有效位数值时,反向转换得到最低有效位数值。也就是说,本申请可以实现大端序和小端序的最高有效位数值和最低有效位数值的转换。并且本申请有效位的转换过程无需判断信号是否跨字节,降低了转换复杂度、减少了计算量。
相应的,本申请实施例还公开了一种字节序的有效位转换装置,参见图3所示,该装置包括:
解析模块11,用于获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;
有效位转换模块12,用于基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请提出一种字节序的有效位转换装置,包括:解析模块11,用于获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;有效位转换模块12,用于基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。综上可见,由于字节序可以包括大端序和小端序,有效位可以包括最高有效位和最低有效位,因此,一方面,当本申请中的字节序为大端序时,本申请可以获取的是最高有效位数值,进而根据报文长度和所述大端序确定出信号布局列表,然后基于所述信号长度和所述最高有效位数值从所述信号布局列表中确定最低有效位数值,得到信号真正的起始位。也即,本申请无需判断信号是否跨字节,也无需跨字节逐个起始位。另一方面,当本申请中的字节序为小端序时,本申请可以获取的是最低有效位数值,进而根据报文长度和所述小端序确定出信号布局列表,然后基于所述信号长度和所述最低有效位数值从所述信号布局列表中确定最高有效位数值,实现了最低有效位数值和最高有效位数值的转换。由上可见,本申请有效位的转换过程无需判断信号是否跨字节,降低了转换复杂度、减少了计算量。
进一步的,本申请实施例还提供了一种电子设备。图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、显示屏23、输入输出接口24、通信接口25、电源26和通信总线27。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的字节序的有效位转换方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源26用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括计算机程序221,存储方式可以是短暂存储或者永久存储。其中,计算机程序221除了包括能够用于完成前述任一实施例公开的由电子设备20执行的字节序的有效位转换方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的字节序的有效位转换方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的一种字节序的有效位转换方法、装置、设备、存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种字节序的有效位转换方法,其特征在于,包括:
获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;
基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。
2.根据权利要求1所述的字节序的有效位转换方法,其特征在于,所述对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值,包括:
对所述目标通信矩阵数据库文件进行解析,得到目标信号的大端序、第一信号长度和最高有效位数值。
3.根据权利要求2所述的字节序的有效位转换方法,其特征在于,所述基于报文长度和所述字节序确定信号布局列表,包括:
基于所述报文长度确定第一遍历轮次和第一变量的第一变量取值范围;
在每一遍历轮次中,按照第一取值顺序从所述第一变量取值范围内确定出一个所述第一变量的变量值;
根据所述第一变量的变量值确定当前遍历轮次的当前遍历范围,并根据所述当前遍历范围进行遍历,然后跳转至所述按照第一取值顺序从所述第一变量取值范围内确定出一个所述第一变量的变量值的步骤,直至遍历轮次达到所述第一遍历轮次,得到第一信号布局列表。
4.根据权利要求3所述的字节序的有效位转换方法,其特征在于,所述根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,包括:
从所述第一信号布局列表中确定出索引为所述最高有效位数值的第一数值;
确定所述第一数值与所述第一信号长度的第一和值,并确定所述第一和值与1的差值,得到最低有效位数值的索引;
根据所述最低有效位数值的索引从所述第一信号布局列表中确定出所述最低有效位数值。
5.根据权利要求1所述的字节序的有效位转换方法,其特征在于,所述对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值,包括:
对所述目标通信矩阵数据库文件进行解析,得到目标信号的小端序、第二信号长度和最低有效位数值。
6.根据权利要求5所述的字节序的有效位转换方法,其特征在于,所述基于报文长度和所述字节序确定信号布局列表,包括:
基于所述报文长度确定第二遍历轮次和第二变量的第二变量取值范围;
在每一遍历轮次中,按照第二取值顺序从所述第二变量取值范围内确定出一个所述第二变量的变量值;
根据所述第二变量的变量值确定当前遍历轮次的当前遍历范围,并根据所述当前遍历范围进行遍历,然后跳转至所述按照第二取值顺序从所述第二变量取值范围内确定出一个所述第二变量的变量值的步骤,直至遍历轮次达到所述第二遍历轮次,得到第二信号布局列表。
7.根据权利要求6所述的字节序的有效位转换方法,其特征在于,所述根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,包括:
从所述第二信号布局列表中确定出索引为所述最低有效位数值的第二数值;
确定所述第二数值与所述第二信号长度的第二和值,并确定所述第二和值与1的差值,得到最高有效位数值的索引;
根据所述最高有效位数值的索引从所述第二信号布局列表中确定出所述高低有效位。
8.一种字节序的有效位转换装置,其特征在于,包括:
解析模块,用于获取目标通信矩阵数据库文件,并对所述目标通信矩阵数据库文件进行解析,得到目标信号的字节序、信号长度和第一有效位数值;
有效位转换模块,用于基于报文长度和所述字节序确定信号布局列表,并根据所述信号长度和所述第一有效位数值从所述信号布局列表中确定出第二有效位数值,以便用户进行查看。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的字节序的有效位转换方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的字节序的有效位转换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311107459.7A CN117240842A (zh) | 2023-08-30 | 2023-08-30 | 一种字节序的有效位转换方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311107459.7A CN117240842A (zh) | 2023-08-30 | 2023-08-30 | 一种字节序的有效位转换方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117240842A true CN117240842A (zh) | 2023-12-15 |
Family
ID=89085333
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311107459.7A Pending CN117240842A (zh) | 2023-08-30 | 2023-08-30 | 一种字节序的有效位转换方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117240842A (zh) |
-
2023
- 2023-08-30 CN CN202311107459.7A patent/CN117240842A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124379B (zh) | 页面生成方法、装置、电子设备及存储介质 | |
CN110543427B (zh) | 测试用例存储方法、装置、电子设备及存储介质 | |
CN111814449B (zh) | 表单解析方法、装置、设备及存储介质 | |
CN110334103B (zh) | 推荐服务的更新方法、提供装置、访问装置和推荐系统 | |
CN112073420A (zh) | 一种网络协议解析方法、装置及相关设备 | |
CN110134441B (zh) | Risc-v分支预测方法、装置、电子设备及存储介质 | |
CN114091383A (zh) | 测试序列生成方法、装置、系统及相关设备 | |
CN112287638B (zh) | 一种数字展示方法及装置 | |
CN117240842A (zh) | 一种字节序的有效位转换方法、装置、设备及介质 | |
CN111273903B (zh) | 网页制作方法、装置、计算机设备及计算机存储介质 | |
CN109446146B (zh) | 一种应用层通信协议的状态转换序列生成方法 | |
CN109361399A (zh) | 一种获取字节序列的方法、装置、设备及存储介质 | |
CN115629763A (zh) | 目标代码的生成方法、npu指令的显示方法及装置 | |
CN113312025B (zh) | 组件库生成方法及装置、存储介质、电子设备 | |
CN114679504B (zh) | Udp报文解析方法、装置及计算机设备 | |
CN110597517A (zh) | 动态解析mat文件的方法及装置 | |
CN116341633B (zh) | 一种模型部署方法、装置、设备及存储介质 | |
CN116560336A (zh) | 一种车辆诊断方法、装置、设备及介质 | |
CN113961647A (zh) | 一种数据反序列化方法、装置及相关设备 | |
CN115827109A (zh) | 一种脚本数组元素删除方法、装置、设备及存储介质 | |
CN114970504A (zh) | 篇章纠错方法、装置、电子设备及存储介质 | |
CN115757122A (zh) | 一种测试用例转换方法、装置、设备及存储介质 | |
CN115391226A (zh) | 两两组合测试用例覆盖冗余的评价方法及其相关组件 | |
CN115525232A (zh) | 一种数据逆序转换方法、装置、设备及介质 | |
CN115632972A (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 |