[發明專利]一種字符串截斷方法及裝置有效
| 申請號: | 201310302779.8 | 申請日: | 2013-07-18 |
| 公開(公告)號: | CN104063362A | 公開(公告)日: | 2014-09-24 |
| 發明(設計)人: | 趙毅;申家忠 | 申請(專利權)人: | 騰訊科技(深圳)有限公司 |
| 主分類號: | G06F17/22 | 分類號: | G06F17/22 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 唐華明 |
| 地址: | 518031 廣東省深圳*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 字符串 截斷 方法 裝置 | ||
技術領域
本發明涉及計算機技術領域,具體涉及一種字符串截斷方法及裝置。
背景技術
在一些應用程序的界面顯示中,由于界面文本控件大小以及位置設計上的限制,經常需要將各種不同長度的字符串進行截斷后再在文本控件中進行顯示。在現有技術中,比較常見的做法是針對不同長度的字符串預設最大字節數限制,如果需要顯示的字符串所包含的字節數超出了預設最大字節數限制,則截斷字符串,只顯示其前最大字節數字節組成的子字符串,并根據需要在其后附上省略號表示顯示內容是被截斷的子字符串。
但是,在有些字符編碼環境下,中文、英文或其他符號字符所占用的字節數是不同的。若按照最大字節數直接進行字符串截斷,可能會出現字符被顯示為亂碼的情況。另外,在進行字符串的顯示的時候,同樣字節數對應的中文、英文或其他符號所對應的字符數并不一定相同,可能會出現中文字符顯示長度合適而英文字符超出預先設置的控件的情況。
發明內容
有鑒于此,本發明的主要目的是提供一種字符串截斷方法及裝置,以解決現有技術中對字符串截斷可能出現亂碼的問題。
為解決上述問題,本發明提供的技術方案如下:
一種字符串截斷方法,所述方法包括:
讀取待截斷字符串,獲得當前字符所占字節長度;
判斷從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串是否滿足預設截斷條件;
如果從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串滿足預設截斷條件,則根據當前字符所占字節長度,將所述子字符串減去當前字符作為截斷子字符串進行顯示。
相應的,所述方法還包括:
如果從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串不滿足預設截斷條件,則將所述當前字符的下一字符作為當前字符,返回獲得當前字符所占字節長度,直到所述待截斷字符串滿足預設截斷條件,則對所述待截斷字符串進行顯示。
相應的,所述方法還包括:
獲得從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串的實際顯示像素寬度。
相應的,所述判斷從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串是否滿足預設截斷條件,包括:
判斷從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串的實際顯示像素寬度是否大于預設最大像素寬度,如果是,則滿足預設截斷條件,如果否,則不滿足預設截斷條件。
相應的,所述判斷從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串是否滿足預設截斷條件,包括:
判斷從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串的所占字節長度總和是否大于預設最大字節長度,如果是,則滿足預設截斷條件,如果否,則不滿足預設截斷條件。
相應的,所述獲得當前字符所占字節長度,包括:
當所述待截斷字符串采用等長編碼時,根據所述待截斷字符串的編碼類型直接獲得每個字符所占字節長度。
相應的,所述獲得當前字符所占字節長度,包括:
當所述待截斷字符串采用變長編碼時,根據當前字符的首字節獲得當前字符所占字節長度。
相應的,讀取待截斷字符串后,所述方法還包括:
判斷所述待截斷字符串是否滿足預設截斷條件,如果是,則繼續執行獲得當前字符所占字節長度及后續步驟,如果否,則直接對所述待截斷字符串進行顯示。
相應的,判斷所述待截斷字符串是否滿足預設截斷條件,包括:
獲得所述待截斷字符串的實際顯示像素寬度;
判斷所述待截斷字符串的實際顯示像素寬度是否大于預設最大像素寬度。
相應的,判斷所述待截斷字符串是否滿足預設截斷條件,包括:
判斷所述待截斷字符串的所占字節長度總和是否大于預設最大字節長度。
一種字符串截斷裝置,所述裝置包括:
第一獲得單元,用于讀取待截斷字符串,獲得當前字符所占字節長度;
第一判斷單元,用于判斷從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串是否滿足預設截斷條件;
截斷單元,用于如果從所述待截斷字符串中的起始字符到所述當前字符組成的子字符串滿足預設截斷條件,則根據當前字符所占字節長度,將所述子字符串減去當前字符作為截斷子字符串進行顯示。
相應的,所述裝置還包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于騰訊科技(深圳)有限公司,未經騰訊科技(深圳)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310302779.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:在PDF文檔中插入對象的方法
- 下一篇:一種SATA橋設備





