【技术实现步骤摘要】
一种字符串截断方法及装置
本专利技术涉及计算机
,具体涉及一种字符串截断方法及装置。
技术介绍
在一些应用程序的界面显示中,由于界面文本控件大小以及位置设计上的限制, 经常需要将各种不同长度的字符串进行截断后再在文本控件中进行显示。在现有技术中, 比较常见的做法是针对不同长度的字符串预设最大字节数限制,如果需要显示的字符串所 包含的字节数超出了预设最大字节数限制,则截断字符串,只显示其前最大字节数字节组 成的子字符串,并根据需要在其后附上省略号表示显示内容是被截断的子字符串。 但是,在有些字符编码环境下,中文、英文或其他符号字符所占用的字节数是不同 的。若按照最大字节数直接进行字符串截断,可能会出现字符被显示为乱码的情况。另外, 在进行字符串的显示的时候,同样字节数对应的中文、英文或其他符号所对应的字符数并 不一定相同,可能会出现中文字符显示长度合适而英文字符超出预先设置的控件的情况。
技术实现思路
有鉴于此,本专利技术的主要目的是提供一种字符串截断方法及装置,以解决现有技 术中对字符串截断可能出现乱码的问题。 为解决上述问题,本专利技术提供的技术方案如下: -种字符串截断方法,所述方法包括: 读取待截断字符串,获得当前字符所占字节长度; 判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满 足预设截断条件; 如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预 设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字 符串进行显示 ...
【技术保护点】
一种字符串截断方法,其特征在于,所述方法包括:读取待截断字符串,获得当前字符所占字节长度;判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串进行显示。
【技术特征摘要】
1. 一种字符串截断方法,其特征在于,所述方法包括: 读取待截断字符串,获得当前字符所占字节长度; 判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预 设截断条件; 如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截 断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串 进行显示。2. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设 截断条件,则将所述当前字符的下一字符作为当前字符,返回获得当前字符所占字节长度, 直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。3. 根据权利要求1所述的方法,其特征在于,所述方法还包括: 获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示 像素宽度。4. 根据权利要求3所述的方法,其特征在于,所述判断从所述待截断字符串中的起始 字符到所述当前字符组成的子字符串是否满足预设截断条件,包括: 判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示 像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预 设截断条件。5. 根据权利要求1所述的方法,其特征在于,所述判断从所述待截断字符串中的起始 字符到所述当前字符组成的子字符串是否满足预设截断条件,包括: 判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节 长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预 设截断条件。6. 根据权利要求1所述的方法,其特征在于,所述获得当前字符所占字节长度,包括: 当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每 个字符所占字节长度。7. 根据权利要求1所述的方法,其特征在于,所述获得当前字符所占字节长度,包括: 当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节 长度。8. 根据权利要求1所述的方法,其特征在于,读取待截断字符串后,所述方法还包括: 判断所述待截断字符串是否满足预设截断条件,如果是,则继续执行获得当前字符所 占字节长度及后续步骤,如果否,则直接对所述待截断字符串进行显示。9. 根据权利要求8所述的方法,其特征在于,判断所述待截断字符串是否满足预设截 断条件,包括: 获得所述待截断字符串的实际显示像素宽度; 判断所述待截断字符串的实际显示像素宽度是否大于预设最大像素宽度。10. 根据权利要求8所述的方法,其特征在于,判断所述待截断字符串是否满足预设截 断条件,包括: 判断所述待截断字符串的所占字节长度总和是否大于预设最大字节长度。11. 一种字符串截断装置,其特征在于,所述装置包括: 第一...
【专利技术属性】
技术研发人员:赵毅,申家忠,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。