本发明涉及计算机,特别是涉及一种消息处理方法、装置、设备及存储介质。
背景技术:
1、现有技术中,即时通讯应用为了便于用户之间的交流,提供发送各种字符的功能。并且,在消息过长的情况下,由于视图控件检测到消息对应的代码串填充满一行之后,会添加上隔断符等换行标记,以便于在数据转换过程中检测到隔断符进行换行。
2、但是,在上述场景下,消息所包括的字符对应的代码会存在被截断的情况,从而导致转换得到的消息不完整,且对应字符也会显示异常。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的消息处理方法、装置、设备及存储介质。
2、为了解决上述问题,本发明实施例公开了一种消息处理方法,所述方法包括:
3、获取输入消息和消息框的当前宽度,所述输入消息包括多个字符,所述消息框用于显示所述输入消息;
4、依次获取各字符对应的代码单元累计宽度,并依据各字符对应的代码单元累计宽度和所述消息框的当前宽度,确定所述输入消息是否满足字符截断条件;
5、当所述输入消息满足字符截断条件时,对所述输入消息进行字符分割,得到对应的多个短字符串;
6、根据所述多个短字符串得到所述输入信息对应的多行显示消息,并在所述消息框内进行显示。
7、为了解决上述问题,本发明实施例还公开了一种消息处理装置,所述装置包括:
8、消息获取模块,用于获取输入消息和消息框的当前宽度,所述输入消息包括多个字符,所述消息框用于显示所述输入消息;
9、条件确定模块,用于依次获取各字符对应的代码单元累计宽度,并依据各字符对应的代码单元累计宽度和所述消息框的当前宽度,确定所述输入消息是否满足字符截断条件。
10、字符分割模块,用于当所述输入消息满足字符截断条件时,对所述输入消息进行字符分割,得到对应的多个短字符串。
11、消息显示模块,用于根据所述多个短字符串得到所述输入信息对应的多行显示消息,并在所述消息框内进行显示。
12、为了解决上述问题,本发明实施例还公开了一种电子设备,包括:
13、一个或多个处理器;和
14、其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行如上任一项所述的消息处理方法。
15、为了解决上述问题,本发明实施例还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如上述任一项所述的消息处理方法。
16、本发明实施例包括以下优点:
17、本发明实施例首先获取输入消息和消息框的当前宽度。然后依次获取各字符对应的代码单元累计宽度,并依据字符对应的代码单元累计宽度和所述消息框的当前宽度,确定所述输入信息是否满足字符截断条件。并且当所述输入消息满足字符截断条件的情况下,对所述输入消息进行字符分割,得到对应的多个短字符串。最后根据所述多个短字符串得到所述输入信息对应的多行显示消息,并在消息框内进行显示。从而能够在消息转换之前,预先对多个字符进行分割处理,以避免字符对应的代码被截断,保证各字符在消息框内均能正常显示。
1.一种消息处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的消息处理方法,其特征在于,所述依据各字符对应的代码单元累计宽度和所述消息框的当前宽度,确定所述输入消息是否满足字符截断条件,包括:
3.根据权利要求2所述的消息处理方法,其特征在于,所述方法还包括:
4.根据权利要求2或3所述的消息处理方法,其特征在于,所述字符截断条件包括:所述目标累计宽度与所述消息框处于横屏显示时对应的当前宽度之间的比值,大于或等于预设第一比值;或者,
5.根据权利要求2所述的消息处理方法,其特征在于,所述对所述输入信息进行字符分割,得到对应的多个短字符串,包括:
6.根据权利要求1所述的消息处理方法,其特征在于,所述依次获取各字符对应的代码单元累计宽度,包括:
7.根据权利要求1所述的消息处理方法,其特征在于,所述根据所述多个短字符串得到所述输入信息对应的多行显示消息,并在所述消息框内进行显示,包括:
8.一种消息处理装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至7任一项所述的消息处理方法。