[发明专利]一种字符串截断方法及装置有效
申请号: | 201310302779.8 | 申请日: | 2013-07-18 |
公开(公告)号: | CN104063362A | 公开(公告)日: | 2014-09-24 |
发明(设计)人: | 赵毅;申家忠 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/22 | 分类号: | G06F17/22 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 唐华明 |
地址: | 518031 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 字符串 截断 方法 装置 | ||
技术领域
本发明涉及计算机技术领域,具体涉及一种字符串截断方法及装置。
背景技术
在一些应用程序的界面显示中,由于界面文本控件大小以及位置设计上的限制,经常需要将各种不同长度的字符串进行截断后再在文本控件中进行显示。在现有技术中,比较常见的做法是针对不同长度的字符串预设最大字节数限制,如果需要显示的字符串所包含的字节数超出了预设最大字节数限制,则截断字符串,只显示其前最大字节数字节组成的子字符串,并根据需要在其后附上省略号表示显示内容是被截断的子字符串。
但是,在有些字符编码环境下,中文、英文或其他符号字符所占用的字节数是不同的。若按照最大字节数直接进行字符串截断,可能会出现字符被显示为乱码的情况。另外,在进行字符串的显示的时候,同样字节数对应的中文、英文或其他符号所对应的字符数并不一定相同,可能会出现中文字符显示长度合适而英文字符超出预先设置的控件的情况。
发明内容
有鉴于此,本发明的主要目的是提供一种字符串截断方法及装置,以解决现有技术中对字符串截断可能出现乱码的问题。
为解决上述问题,本发明提供的技术方案如下:
一种字符串截断方法,所述方法包括:
读取待截断字符串,获得当前字符所占字节长度;
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串进行显示。
相应的,所述方法还包括:
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设截断条件,则将所述当前字符的下一字符作为当前字符,返回获得当前字符所占字节长度,直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。
相应的,所述方法还包括:
获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度。
相应的,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每个字符所占字节长度。
相应的,所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
相应的,读取待截断字符串后,所述方法还包括:
判断所述待截断字符串是否满足预设截断条件,如果是,则继续执行获得当前字符所占字节长度及后续步骤,如果否,则直接对所述待截断字符串进行显示。
相应的,判断所述待截断字符串是否满足预设截断条件,包括:
获得所述待截断字符串的实际显示像素宽度;
判断所述待截断字符串的实际显示像素宽度是否大于预设最大像素宽度。
相应的,判断所述待截断字符串是否满足预设截断条件,包括:
判断所述待截断字符串的所占字节长度总和是否大于预设最大字节长度。
一种字符串截断装置,所述装置包括:
第一获得单元,用于读取待截断字符串,获得当前字符所占字节长度;
第一判断单元,用于判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;
截断单元,用于如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串进行显示。
相应的,所述装置还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310302779.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:在PDF文档中插入对象的方法
- 下一篇:一种SATA桥设备