一种在线字节编辑器及其工作方法与流程

文档序号:12863796阅读:411来源:国知局
一种在线字节编辑器及其工作方法与流程

本发明涉及信息安全领域,特别涉及一种在线字节编辑器及其工作方法。



背景技术:

字节编辑器是功能强大的开发工具,可以方便地进行十六进制编辑、插入、填充、删除、剪切、复制和粘贴工作,配合查找、替换、比较以及计算校验和等命令使工作更加快捷。

现有技术中,如果要编辑字节数据只能依赖于字节插件进行操作,通过文件的形式集成到项目中,彼此是独立的,因此有很大的局限性。



技术实现要素:

本发明可以实现基于项目本身的在线字节设置,不依赖其它工具,减少了局限性。

根据本发明,一种在线字节编辑器的工作方法具体包括:

步骤a:初始化字节设置页面并显示所述字节设置页面,所述页面包括字节设置框、字符串文本框以及确定按钮;

步骤b:所述页面接收用户操作,并判断所述用户操作的类型,当所述用户操作为点击鼠标操作时,执行步骤c;当所述用户操作是字符按键输入操作时,执行步骤d;

步骤c:所述页面判断光标当前位置是否在预设位置上,如果是,执行步骤h;否则,根据鼠标点击更新光标位置,并返回步骤b;

步骤d:所述页面判断是否获取到光标当前位置,如果是,判断所述光标当前位置,如果所述光标当前位置在所述字节设置框,则执行步骤e;如果所述光标当前位置在字符串文本框,则执行步骤g;如果没有获取到光标当前位置,则返回步骤b;

步骤e:所述页面判断所述用户操作是否符合第一预设条件,如果是,执行步骤f;否则,返回步骤b;

步骤f:所述页面使用用户输入的按键的值替代光标后第一个字符,并判断所述用户操作是否符合第二预设条件,如果是,根据字节设置框中的内容,对所述字符串文本框中的内容进行赋值,并返回步骤b;否则,返回步骤b;

步骤g:所述页面使用用户输入的按键的值替代光标后第一个字符,并根据所述字符串文本框中的内容,对字节设置框的内容进行赋值,并返回步骤b;

步骤h:所述页面根据字节设置页面中的显示,拼接并获取字符串,并保存到服务器,字节字符串设置完成。

一种在线字节编辑器,具体包括:

初始化模块,用于初始化字节设置页面并显示所述字节设置页面,其中,所述页面包括字节设置框、字符串文本框以及确定按钮;

第一判断模块,用于接收用户操作,并在接收到用户操作后,判断所述用户操作的类型;

第二判断模块,用于判断光标的位置;

第三判断模块,用于判断用户操作是否符合预设条件;

转换模块,用于将第一文本值转换为第二文本值;

赋值模块,用于替换光标后第一个字符并对页面相应的位置进行赋值;

拼接模块,用于根据字节设置页面中的显示,拼接并获取字符串,并将获取到的字符串保存到服务器。

本发明技术方案与现有技术相比,具有以下优点:本发明实现了基于浏览器的在线字节编辑器,可以实现基于项目本身的字节的设置,不依赖于其它的工具,减少了局限性,因此,方便用户,提升了用户体验。

附图说明

附图1为本发明实施例1提供的一种在线字节编辑器工作方法的流程图;

附图2为本发明实施例2提供的一种在线字节编辑器工作方法的流程图;

附图3为本发明实施例3提供的一种在线字节编辑器的方框图;

附图4为本发明实施例1和2提供的一种字节设置页面。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。

为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。

实施例1

本发明实施例1提供了一种在线字节编辑器的工作方法,本实施例中的页面可以是基于js,vbscript等脚本的页面,如图1所示,具体包括以下步骤:

步骤s101:页面等待并接收用户设置操作。

例如:页面接收到用户点击“设置”按钮的操作。

步骤s102:当页面接收到用户设置操作时,初始化字节设置页面并显示字节设置页面。

其中,步骤s102还包括:使用层叠式表格(cascadingstylesheets,css)样式,对表单的表格线条粗细、线条颜色、表格的宽度和高度样式进行设置。

例如:字节设置页面包括字节设置框、字符串文本框和“确定”按钮,如图4所示。

步骤s103:页面等待接收用户操作,当接收到用户操作时,判断用户操作的类型,如果是用户点击鼠标操作,则执行步骤s104;如果是用户输入功能键操作,则执行步骤s105;如果是用户输入非功能键操作,执行步骤106。

步骤s104:判断当前光标位置是否在确定键上,如果是,执行步骤s115;否则,根据鼠标点击操作更新光标位置,并返回步骤s103。

其中,根据鼠标点击操作更新光标位置具体为:鼠标点击字节设置框中的任何一个点,都可以更新光标位置。

步骤s105:执行功能键功能,并且返回步骤s103。

步骤s106:判断是否获取到光标位置,如果光标位置在字节设置框,则执行步骤s107;如果光标位置在字符串文本框,则执行步骤s112;否则,返回步骤s103。

步骤s107:页面获取用户操作的对应值,判断用户操作的对应值是否为十六进制允许的字符,如果是,执行步骤s108;否则,返回步骤s103。

具体地,用户操作的对应值为用户操作中按键对应的键值。

步骤s108:页面使用用户操作中被按下的按键的值替代光标后的第一个字符。

例如,用户输入5,则用5替代光标后的第一个字符,如果光标所在框之前显示为00,光标在00之前,则,用户输入之后,光标所在框的值变为50。

步骤s109:页面获取第一文本值,并将第一文本值转换为第二文本值。

具体地,第一文本值为字节设置框中的十六进制文本值,第二文本值为美国标准代码(ascii码)文本值。

步骤s110:页面根据第二文本值判断第二文本值对应的字符是否为可见字符,如果是,执行步骤s111;否则,返回步骤s103。

步骤s111:页面将第二文本值转换为字符,在字符串文本框中显示,然后返回步骤s103。

步骤s112:页面使用用户输入的值替代光标后第一个字符。

步骤s113:页面将用户输入的值转换为符合预设条件的值。

具体地,页面将用户输入的值转换为十六进制允许的字符。

步骤s114:根据光标位置确定字节设置框的对应位置,并对所述位置进行赋值,返回步骤s103。

步骤s115:页面获取每个字节设置框中的对应键值,并将对应键值拼接成一个十六进制的字符串,保存到服务器中,字节在线设置完成。

实施例2

本发明实施例2提供了一种在线字节编辑器的工作方法,本实施例中的页面可以是基于js,vbscript等脚本的页面,如图2所示,具体包括以下步骤:

步骤s201:页面等待并接收用户设置操作。

优选地,页面可以为用户在线编辑字节时操作的界面;

具体地,用户设置操作为用户点击“设置”按钮的操作;当用户点击“设置”按钮时,页面接收到用户设置操作。

步骤s202:当页面接收到用户设置操作时,生成并初始化字节设置页面并显示字节设置页面。

具体地,当用户点击“设置”按钮,触发按钮的onclick事件时,页面调用第一函数,显示在线设置字节的展示页面;

具体地,所述生成字节字符串设置页面包括:使用层叠样式表格(cascadingstylesheets,css)样式,对表单的表格线条粗细、线条颜色、表格的宽度和高度样式进行设置。

例如,第一函数可以为js文件中的initlickey()函数。

字节设置页面可以如图4所示。

例如,字节设置页面中可以包括字节设置框,字符串文本框以及“确定”按钮,如上图所示。

其中,页面调用initkey函数对字节设置页面进行初始化。

具体地,页面对字节设置页面进行初始化具体包括:页面生成8对字节设置列表,每行对应16个2位长度字节设置框及一个16位长度字符串输入框;其中,每个所述字节设置框默认值为00,字符串文本框默认值为16。

具体地,当页面是基于js脚本的页面时,具体为:

当页面为基于vbscript脚本的页面时,具体为:

步骤s203:页面获取鼠标光标位置,当光标位置在字节设置框时,执行步骤s204;当光标位置在字符串文本框时,执行步骤s213。

具体地,页面调用cursorpositionforlickey函数,文本框对象为cursorpositionforlickey函数的一个参数,判断文本框对象是否有selectionstart属性,如果是,表示当前浏览器支持selectionstart属性,获得所述光标的所在起始位置;如果不是,判断文本框对象是否有selection属性,如果是,当前浏览器支持selection属性,根据selection属性的createrange函数和用户输入的文本的长度获取光标位置;否则,默认为光标在起始位置。

其中,当判断当前浏览器为支持selectionstart属性时,获取光标位置具体为:调用获取光标位置函数,将自定义变量lickey_pos的值默认为0,判断文本框对象是否有selectionstart属性,如果是,自定义变量lickey_pos的值为光标所在位置;否则,判断文本框对象是否有selection属性;如果文本框对象有selection属性,表示当前浏览器支持selection属性,那么调用document.selection.createrange()函数创建数据range对象,同时根据document.selection.createrange().text.length取得range的长度,然后调用range对象的movestart函数,用range对象text.length的最新长度减去原长度即为光标所在位置;如果文本框对象没有selection属性,则默认光标在起始位置。

其中movestart函数包括两个参数,分别为:character和文本框对象的length,character代表字符,文本框对象的length代表字符长度。

当页面是基于vbscript脚本的页面时,具体为:

当页面是基于vbscript脚本的页面时,具体为:

步骤s204:页面等待并接收第二用户操作。

其中,第一用户操作为用户按键输入操作的一种方式;

具体地,第一用户操作为用户在字节设置框内输入键盘按键。

步骤s205:当页面接收到第一用户操作时,获取第一用户操作的对应值。

具体地,第一用户操作的对应值为用户按下的键盘按键所对应的键值。

进一步地,当页面接收到第一用户操作时,获取第一用户操作的对应值的同时,也获取第一用户操作中用户按键的键盘按键的值。

例如:当页面接收到第一用户操作“用户按下键盘键5”时,获取第一用户操作的对应值“35”,同时也获取第一用户操作中用户按键的键盘按键的值“5”。

步骤s206:页面根据获取到的第一用户操作的对应值判断第一用户操作中用户按下的键盘按键是否是功能键,如果是功能键,则执行功能键功能,并返回步骤s203;否则,执行步骤s207。

其中,所述功能键可以为shift、tab、caps等按键。

例如,当页面接收到第一用户操作时,页面获取到的第一用户操作的对应值为16,则页面根据获取到的第一用户操作的对应值16,判断第一用户操作中用户按下的按键为shift,所以第一用户操作中用户按下的键盘按键为功能键,则执行shift功能,并返回步骤s203。

步骤s207:页面判断获取到的第一用户操作的对应值是否为16进制允许的字符,如果第一用户操作的对应值是16进制允许的字符,执行步骤s208;如果第一用户操作的对应值不是是16进制允许的字符,忽略输入,并返回步骤s203。

其中,所述16进制允许的字符包括0-9、a-f以及a-f。

步骤s208:页面使用第一用户操作中被按下的键盘按键的值替换所述光标后第一个字符。

具体地,页面截取光标后第一个字符,使用用户输入按键的值替换光标后第一个字符。

例如:页面截取光标后第一个字符“0”,使用用户输入按键的值“5”替换光标后的第一个字符“0”。

步骤s209:页面获取第一文本值,并将第一文本值转换为第二文本值。

其中,第一文本值具体为光标所在的文本框的16进制的值。

其中,第一文本值为16进制的文本值;第二文本值为ascii码的文本值。

具体地,页面调用parseint(newvalue,16)函数将16进制的第一文本值转换为ascii码的第二文本值。

步骤s210:根据第二文本值判断第二文本对应的字符是否为可见字符,如果是,执行步骤s211;否则,字符串文本输入框相对应的位置的值默认为“.”,返回步骤s203。

具体地,页面判断第二文本值是否为大于等于32并且小于等于126的变量,如果是,第二文本值所对应的字符为可见字符;否则,字符串文本输入框的相对应的位置的值默认为“.”。

其中,判断字符是否可见参照ascii码定义。

步骤s211:页面将第二文本值转换成字符,在字符串文本输入框中显示。

具体地,页面调用string.fromcharcode(v)函数将ascii码的第二文本值转换为字符,并在字符串文本输入框中显示。

步骤s212:页面判断是否接收到用户确定操作,如果是,执行步骤s220;否则,返回步骤s203。

具体地,所述用户确定操作为用户点击“确定”的操作。

步骤s213:页面等待并接收第二用户操作。

其中,第二用户操作为用户按键操作的另一种方式;

具体地,第二用户操作为用户在字符串文本输入框内输入键盘按键。

步骤s214:当页面接收到第二用户操作时,获取第二用户操作的对应值。

具体地,第二用户操作的对应值为用户按下的键盘按键对应的键值。

进一步地,当页面接收到第二用户操作时,获取用户按下的键盘按键的键值,并且获取用户按下的键盘按键的值。

例如:当页面接收到第二用户操作“在字符串文本输入框输入按键5”时,获取用户按下的键盘按键“5”的键值“35”,并且获取用户按下的键盘按键的值“5”。

步骤s215:页面根据获取到的第二用户操作的对应值判断第二用户操作中用户按下的键盘按键是否是功能键,如果是功能键,则执行功能键功能,并返回步骤s203;否则,执行步骤s216。

其中,所述功能键可以为shift、tab、caps等按键。

例如,页面获取到的第二用户操作的对应值为16,则jsp页面判断第二用户操作中用户按下的按键为shift键,因此第二用户操作中用户按下的按键为功能键,则执行shift功能,并返回步骤s203。

步骤s216:页面使用第二用户操作中被按下的键盘按键的值替换光标后第一个字符。

具体地,页面截取光标后第一个字符,使用用户输入按键的值替换光标后的第一个字符。

步骤s217:页面将用户输入的键盘按键的值转换为符合预设条件的值。

具体地,符合预设条件为16进制允许的值。

具体地,页面调用lickey_char.charcodeat(0).tostring(16).touppercase()函数将用户输入的按键的值转换为16进制允许的值。

其中,charcodeattostringtouppercase()为js内置的函数。

步骤s218:页面根据光标位置确定字节设置框的对应位置,并根据转换成的符合预设条件的值为字节设置框的对应位置进行赋值。

具体地,页面获取光标当前位置,获取光标所在行中所有的字节输入框数组,调用jquery.eq(position)函数,获取光标当前位置所对应的字节设置框中的对应位置;然后使用jquery的赋值函数.val()对字节设置框对应位置的文本框对象赋值。

其中,val()的参数为用户输入字符.charcodeat(0).tostring(16).touppercase()。

例如:当页面为基于js的页面时,具体为:

当页面是基于vbscript的页面时,具体为:

步骤s219:页面判断是否接收到用户确定操作,如果是,执行步骤s220;否则,返回步骤s203。

具体地,用户确定操作具体为用户点击“确定”按键;

步骤s220:页面获取每个文本框的对应值,并将对应键值拼接成十六进制字符串,并保存到服务器,在线字节设置结束。

具体地,当页面接收到用户点击确定的操作时,获取字节设置框中每个文本框对应键值,并将对应键值拼接成十六进制字符串,并保存到服务器。

实施例3

本实施例3提供了一种在线字节编辑器,如图3所示,具体包括:

初始化模块301,用于接收用户的设置操作,并当接收到用户设置操作时,初始化字节设置页面。

具体地,初始化模块301使用层叠式表格(css)样式,对表单的表格线条粗细、线条颜色、表格的宽度和高度样式进行设置;并生成8对字节设置列表,每行对应16个2位长度字节设置框及一个16位长度字符串输入框;其中,每个所述字节设置框默认值为00,字符串文本框默认值为16。

第一判断模块302,用于当接收到用户操作时,判断用户操作的类型。

具体地,当页面接收到用户操作时,第一判断模块302判断用户操作的类型,用户操作的类型可以包括:用户点击鼠标操作、用户输入按键操作。

第二判断模块303,用于判断光标所在位置。

具体的,光标所在位置可以包括:“确定”按钮上、字节设置框和字符串文本框。

获取模块304,用于用户在页面上输入按键时,获取用户输入的值以及键盘按键对应的键值。

转换模块305,用于将用户输入的按键的十六进制的键值转换为美国标准代码值(ascii码)。

第三判断模块306,用于获取模块304获取到用户输入的按键的键值时,转换模块305将获取到的用户输入的按键的十六进制的键值转换为ascii码值之后,判断ascii码值对应的字符是否为可见字符。

赋值模块307,用于将获取到用户输入的值替换光标后面第一个字符,以及对相对应的位置进行赋值。

拼接模块308,用于获取模块获取每个字节设置框中对应的键值之后,将对应键值拼接成一个十六进制的字符串。

以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1