CN104063362B - 一种字符串截断方法及装置 - Google Patents
一种字符串截断方法及装置 Download PDFInfo
- Publication number
- CN104063362B CN104063362B CN201310302779.8A CN201310302779A CN104063362B CN 104063362 B CN104063362 B CN 104063362B CN 201310302779 A CN201310302779 A CN 201310302779A CN 104063362 B CN104063362 B CN 104063362B
- Authority
- CN
- China
- Prior art keywords
- character
- blocked
- character string
- byte length
- substring
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 70
- 230000000903 blocking effect Effects 0.000 claims abstract description 54
- 230000008569 process Effects 0.000 abstract description 26
- 230000006870 function Effects 0.000 description 10
- 230000006854 communication Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 210000003127 knee Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/109—Font handling; Temporal or kinetic typography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/151—Transformation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种字符串截断方法,用于保证在字符串截断过程中不出现乱码,该方法包括:读取待截断字符串,获得当前字符所占字节长度;判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件;如果从待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将子字符串减去当前字符作为截断子字符串进行显示。本发明还公开了一种字符串截断装置。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种字符串截断方法及装置。
背景技术
在一些应用程序的界面显示中,由于界面文本控件大小以及位置设计上的限制,经常需要将各种不同长度的字符串进行截断后再在文本控件中进行显示。在现有技术中,比较常见的做法是针对不同长度的字符串预设最大字节数限制,如果需要显示的字符串所包含的字节数超出了预设最大字节数限制,则截断字符串,只显示其前最大字节数字节组成的子字符串,并根据需要在其后附上省略号表示显示内容是被截断的子字符串。
但是,在有些字符编码环境下,中文、英文或其他符号字符所占用的字节数是不同的。若按照最大字节数直接进行字符串截断,可能会出现字符被显示为乱码的情况。另外,在进行字符串的显示的时候,同样字节数对应的中文、英文或其他符号所对应的字符数并不一定相同,可能会出现中文字符显示长度合适而英文字符超出预先设置的控件的情况。
发明内容
有鉴于此,本发明的主要目的是提供一种字符串截断方法及装置,以解决现有技术中对字符串截断可能出现乱码的问题。
为解决上述问题,本发明提供的技术方案如下:
一种字符串截断方法,所述方法包括:
读取待截断字符串,获得当前字符所占字节长度;
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串进行显示。
相应的,所述方法还包括:
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设截断条件,则将所述当前字符的下一字符作为当前字符,返回获得当前字符所占字节长度,直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。
相应的,所述方法还包括:
获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度。
相应的,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每个字符所占字节长度。
相应的,所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
相应的,读取待截断字符串后,所述方法还包括:
判断所述待截断字符串是否满足预设截断条件,如果是,则继续执行获得当前字符所占字节长度及后续步骤,如果否,则直接对所述待截断字符串进行显示。
相应的,判断所述待截断字符串是否满足预设截断条件,包括:
获得所述待截断字符串的实际显示像素宽度;
判断所述待截断字符串的实际显示像素宽度是否大于预设最大像素宽度。
相应的,判断所述待截断字符串是否满足预设截断条件,包括:
判断所述待截断字符串的所占字节长度总和是否大于预设最大字节长度。
一种字符串截断装置,所述装置包括:
第一获得单元,用于读取待截断字符串,获得当前字符所占字节长度;
第一判断单元,用于判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;
截断单元,用于如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串进行显示。
相应的,所述装置还包括:
显示单元,如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设截断条件,则将所述当前字符的下一字符作为当前字符,返回所述第一获得单元获得当前字符所占字节长度,直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。
相应的,所述装置还包括:
第二获得单元,用于获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度。
相应的,所述第一判断单元具体用于:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述第一判断单元具体用于:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述第一获得单元具体用于:
当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每个字符所占字节长度。
相应的,所述第一获得单元具体用于:
当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
相应的,所述装置还包括:
第二判断单元,用于判断所述待截断字符串是否满足预设截断条件,如果是,则所述第一获得单元获得当前字符所占字节长度,如果否,则直接对所述待截断字符串进行显示。
相应的,所述第二判断单元具体用于:
获得所述待截断字符串的实际显示像素宽度;
判断所述待截断字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则所述第一获得单元获得当前字符所占字节长度,如果否,则直接对所述待截断字符串进行显示。
相应的,所述第二判断单元具体用于:
判断所述待截断字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则所述第一获得单元获得当前字符所占字节长度,如果否,则直接对所述待截断字符串进行显示。
由此可见,本发明实施例具有如下有益效果:
本发明实施例可以动态获取待截断字符串中每个字符所占的字节长度,从而确保在字符串截断过程中,当待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件时,将子字符串减去当前字符作为截断子字符串进行显示,从而保证字符完整而不会显示乱码;另外,根据字符的实际像素宽度,设置最大像素宽度对字符串进行截断,可以保证包含不同类型字符的字符串最终截断后的显示宽度符合预先设定的文本控件宽度的要求。
附图说明
图1(a)为现有技术中字符串截断后的一种显示结果;
图1(b)为现有技术中字符串截断后的另一种显示结果;
图2为本发明字符串截断方法实施例一的流程图;
图3为本发明字符串截断方法实施例二的流程图;
图4为本发明字符串截断方法实施例三的流程图;
图5为本发明字符串截断方法实施例四的流程图;
图6为本发明实施例字符串截断后的一种显示结果;
图7为本发明字符串截断装置实施例的示意图;
图8为本发明实施例提供的终端的结构示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明实施例作进一步详细的说明。
在现有技术中通常根据预设最大字节数对字符串进行截断,则截断后的字符串可能会显示乱码的问题。在有些字符编码环境下,字符所占用的字节数是不同的。例如UTF-8编码中,一个中文字符占3个字节,而英文字符占1个字节。如果按照最大字节数进行字符串截断,当截断位置在一个中文字符的3个字节中间时,这个中文字符将被显示为乱码。例如在UTF-8编码下,设最大截取字节长度MAX_CHAR_LEN=20,那么字符串“s=一二三四五六七八九十”截取后的显示,如图1(a)所示。
另外,包含同样字节数的字符串对应的文本显示像素宽度不同,在进行字符串的显示时,同样字节数对应的中文、英文或其他符号所对应的字符数并不一定相同,而且实际绘制的显示像素宽度也不同,如果简单按照最大字节数截断的话,可能会出现中文字符显示长度合适而英文字符超出预先设置的控件的情况。例如在UTF-8编码下,设最大截取字节长度MAX_CHAR_LEN=15,那么字符串“s1=一二三四五六七八九十”和字符串“s2=abcd01234567890123456789”的截取后显示,如图1(b)所示。可以看到两段字符串在字节数相同的情况下实际显示的像素宽度相差十分明显,如果将MAX_CHAR_LEN设置的值更大的话,将会有更明显的差别。在这种情况下,如果文本控件是按照较短的s1截断后的宽度来设计,那么设置s2时将超出预设的文本控件宽度。
有鉴于此,本发明实施例针对以上技术问题,提出针对不同的字符编码,动态判定每个字符所占字节长度,以确保截取后的字符是完整的字符,从而保证截断子字符串显示不会出现乱码的情况;另外,本发明实施例通过预设最大像素宽度作为预设截断条件,以确保截断后的子字符串不会超过预先设定的文本控件宽度。
具体的,本发明实施例将从字符串截断装置的角度进行描述,该字符串截断装置具体可以集成在客户端中,该客户端可以装载在终端中,该终端具体可以为智能手机、平板电脑、电子书阅读器、MP3(MovingPictureExpertsGroupAudioLayerIII,动态影像专家压缩标准音频层面3)播放器、MP4(MovingPictureExpertsGroupAudioLayerIV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机和台式计算机等等。
参见图2所示,本发明实施例字符串截断方法实施例一可以包括以下步骤:
步骤201:读取待截断字符串,获得当前字符所占字节长度。
由于在不同的字符编码中,中文、英文等字符所占的字节数不同,为了确保截取后的字符不出现乱码,必须保证截断后的子字符串包含的字节对应的是完整的字符。因此,需要获得待截断字符串中字符所占字节长度。
具体的,可以利用computeCharLength(ch)方法表示获取字符首字节ch所在字符实际占用的字节数,对于不同的字符编码,computeCharLength(ch)可以进行不同的具体实现。
在本发明的一些实施例中,获得当前字符所占字节长度的具体实现可以为:当待截断字符串采用等长编码时,根据待截断字符串的编码类型直接获得每个字符所占字节长度。
对于待截断字符串采用等长编码即字符所占字节数固定的编码情况获得当前字符所占字节长度比较简单,可以直接根据待截断字符串的编码类型直接获得每个字符所占字节长度。例如UCS-2编码,是一种针对Unicode的等长字符编码,Unicode是一种在计算机上使用的字符编码,其为多个语言的字符设定了统一且唯一的二进制编码,可以满足跨语言的处理需要,其中在UCS-2编码中每个字符固定占用2个字节,则computeCharLength(ch)方法可以直接返回2,代表每个字符所占字节长度为2。
在本发明的一些实施例中,获得当前字符所占字节长度的具体实现可以为:当待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
而对于变长编码,则可以根据字符的首字节ch判断当前字符所占字节数,例如UTF-8,也是一种针对Unicode的字符编码,不同于UCS-2,UTF-8是一种可变长度字符编码,当首字节ch读取值在0~127之间,即编码格式为0XXXXXXX时,代表英文或数字字符,该字符对应的字节长度为1;当首字节ch读取值在224~239之间,即编码格式为1110XXXX时,代表中文字符,该字符对应的字节长度为3。在实际应用中,当待截断字符串仅包括中、英文字符串时,可以只判断这两种数值范围即可,如果需要处理其他类型的字符,可以参考UTF-8的编码表增加其他判断的数值范围。
步骤202:判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件。
可以从起始字符开始逐个字符累加判断起始字符到当前字符组成的子字符串是否满足预设截断条件。预设截断条件可以为是否大于预设最大字节长度或者是否大于预设最大像素宽度等。
步骤203:如果从待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将子字符串减去当前字符作为截断子字符串进行显示。
当从待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件,例如从待截断字符串中的起始字符到当前字符组成的子字符串大于预设最大字节长度或者从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度大于预设最大像素宽度,则代表待截断字符串需要进行截断显示。具体的截断方式可以为将起始字符到当前判断字符的前一字符的子字符串作为截断子字符串显示到文本控件中,并根据需要在后面添加省略号代表字符串是被截断后进行显示的。
这样,可以保证从一个字符结束之后的位置进行截断,截断后的子字符串不会出现乱码的情况。
在本发明的一些实施例中,本发明实施例字符串截断方法还可以包括:
如果从待截断字符串中的起始字符到当前字符组成的子字符串不满足预设截断条件,则将当前字符的下一字符作为当前字符,返回获得当前字符所占字节长度,直到待截断字符串满足预设截断条件,则对待截断字符串进行显示。
在本发明的一些实施例中,读取待截断字符串后,本发明实施例字符串截断方法还可以包括:
判断待截断字符串是否满足预设截断条件,如果是,则继续执行获得当前字符所占字节长度及后续步骤,如果否,则直接对待截断字符串进行显示。
在读取待截断字符串后,先判断待截断字符串是否需要进行截断,如果待截断字符串本身并不需要进行截断,也就不必再寻找截断位置,加快字符串显示处理速度。
参见图3所示,本发明实施例字符串截断方法实施例二可以包括以下步骤:
步骤301:读取待截断字符串。
步骤302:判断待截断字符串是否满足预设截断条件,如果是,进入步骤303,如果否,直接对待截断字符串进行显示。
步骤303:设待截断字符串中的起始字符为当前字符。
步骤304:获得当前字符所占字节长度。
步骤305:判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件,如果是,进入步骤306,如果否,进入步骤307。
步骤306:根据当前字符所占字节长度,将子字符串减去当前字符作为截断子字符串进行显示。
步骤307:将当前字符的下一字符作为当前字符,返回步骤304。
本发明实施例与方法实施例一相比,进一步包括了在读取待截断字符串后,预先判断待截断字符串是否满足预设截断条件,以加快处理速度,以及进一步包括了当从待截断字符串中的起始字符到当前字符组成的子字符串不满足预设截断条件,则将下一字符作为当前字符继续进行判断,直到待截断字符串的结束字符,由于已经预先判断整个待截断字符串是否满足预设截断条件,因此不会出现直到结束字符为当前字符时,依然不满足预设截断条件的情况,即当判断整个待截断字符串满足预设截断条件时,判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件为寻找截断位置的过程,由于已经获取了当前字符之前的每个字符的所占字节长度,则截取字符串时,可以按照字符为分割进行截取,则而不会出现乱码的情况。
基于上述实施例,在本发明的一些实施例中,本发明实施例字符串截断方法还可以包括:
获得从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度。
具体的,可以用computePixelofString(s)表示字符串s在文本控件中的实际显示像素宽度,可以调用文本控件内的属性来获得实际显示像素宽度,例如对于IOS系统开发,可以使用CCLabelTTF文本控件的textureRect.size.width属性获取字符串在文本控件中的实际显示像素宽度。
在本发明的一些实施例中,判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件的具体实现可以包括:
判断从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
在本发明的一些实施例中,判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件的具体实现可以包括:
判断从待截断字符串中的起始字符到当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
也就是说,预设截断条件可以为是否大于预设最大字节长度或者是否大于预设最大像素宽度等。预设截断条件为是否大于预设最大像素宽度是优选的实施方式。考虑到英文字符和中文字符所占字节不同以及实际显示像素宽度不一致的问题,提出按最大像素宽度进行字符串截断,可以确保界面文本的正常显示。
类似的,在本发明的一些实施例中,判断待截断字符串是否满足预设截断条件的具体实现可以包括:
获得待截断字符串的实际显示像素宽度;
判断待截断字符串的实际显示像素宽度是否大于预设最大像素宽度。
在本发明的一些实施例中,判断待截断字符串是否满足预设截断条件的具体实现可以包括:
判断待截断字符串的所占字节长度总和是否大于预设最大字节长度。
即预先对待截断字符串是否满足预设截断条件的判断至少也有两种方式,判断待截断字符串的实际显示像素宽度是否大于预设最大像素宽度或者判断待截断字符串的所占字节长度总和是否大于预设最大字节长度。
参见图4所示,当预设截断条件为是否大于预设最大字节长度时,本发明实施例字符串截断方法实施例三可以包括以下步骤:
步骤401:读取待截断字符串。
步骤402:判断待截断字符串的所占字节长度总和是否大于预设最大字节长度,如果是,进入步骤403,如果否,直接对待截断字符串进行显示。
步骤403:设待截断字符串中的起始字符为当前字符。
步骤404:获得当前字符所占字节长度。
步骤405:判断从待截断字符串中的起始字符到当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,进入步骤406,如果否,进入步骤407。
步骤406:根据当前字符所占字节长度,将子字符串减去当前字符作为截断子字符串进行显示。
步骤407:将当前字符的下一字符作为当前字符,返回步骤404。
再结合实际应用对本方法实施例进行简单说明。
读取给定字符串s,从第一个字节s[0]开始,计算s[0]所在字符占用的字节长度l=computeCharLength(s[0]),也就是说,从字节s[0]开始的l个字节对应的是一个字符,不可截断,因此下一个字符的开始字节位置应该是s[0+l]=s[l],再以此类推计算s[l]所在字符占用的字节长度。
为了说明更加清楚,以UTF-8编码为例对上述动态截断过程进行说明。给定一个中英文混合的字符串“s=a一b二”,设最大字节长度为6,从第一个字节s[0]=97开始,因为s[0]在0~127之间,所以computeCharLength(s[0])返回字符所占字节长度为1,从起始字符到当前字符的所占字节长度总和为1,继续判断s[0+1]=s[1]=228,在224~239之间,computeCharLength(s[1])返回字符包含字节长度为3,也就是s[1]、s[2]和s[3]三个字节共同组成一个字符,从起始字符到当前字符的所占字节长度总和为4,继续下一个判断字节为s[1+3]=s[4]=98,包含字节长度为1,从起始字符到当前字符的所占字节长度总和为5,继续判断s[4+1]=s[5]=228,包含字节长度为3,从起始字符到当前字符的所占字节长度总和8,超过了最大字节长度,则从前第三个字符结束处进行截断。
参见图5所示,当预设截断条件为是否大于预设最大像素宽度时,本发明实施例字符串截断方法实施例四可以包括以下步骤:
步骤501:读取待截断字符串。
步骤502:获得待截断字符串的实际显示像素宽度。
步骤503:判断待截断字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,进入步骤504,如果否,直接对待截断字符串进行显示。
步骤504:设待截断字符串中的起始字符为当前字符。
步骤505:获得当前字符所占字节长度。
步骤506:获得从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度。
步骤507:判断从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,进入步骤508,如果否,进入步骤509。
步骤508:根据当前字符所占字节长度,将子字符串减去当前字符作为截断子字符串进行显示。
步骤509:将当前字符的下一字符作为当前字符,返回步骤505。
再结合实际应用对本方法实施例进行简单说明。
对于给定字符串s,首先计算其绘制像素宽度computePixelofString(s)是否超出预先设定的最大像素宽度MAX_PIXEL_LEN,如果没有超过直接将字符串s显示到文本控件即可,不需截断。如果超出最大像素宽度MAX_PIXEL_LEN,在对每个字符进行判断同时,计算从字符串s起始字符开始至当前字符所对应的子串s*实际显示的像素宽度,如果computePixelofString(s*)没有超过MAX_PIXEL_LEN,则取下一个字符继续进行判断;如果超出,则将起始字符到当前判断字符的前一个字符作为截断后的子串显示到文本控件中,并根据需要再后面添加省略号表示字符串是被截断后显示的。
具体的,对于给定的待截断字符串s,首先计算其显示像素长度computePixelofString(s),如果没有超过MAX_PIXEL_LEN,则不需截断直接返回s。如果超过,用index标识当前判断的字节位置,初始index=0,计算以s[index]为首字节的字符长度l=computeCharLength(s[index]),则当前判断字符所对应的字节为s[index]至s[index+l-1](即不包含s[index+l]),取s[0]到s[index+l-1]的子串s*,计算其显示像素长度computePixelofString(s*),如果没有超过MAX_PIXEL_LEN则将index设置为index+l,重复上述过程继续判断下一个字符;否则,返回s[0]到s[index-1](即不包含s[index])的子串作为截断后的字符串,并根据需要附加“…”表示截断。
例如,在UTF-8编码下,设最大像素宽度MAX_PIXEL_LEN=160,那么字符串“s1=一二三四五六七八九十”和字符串“s2=abcd01234567890123456789”按照本发明实施例进行截取后的显示参见图6所示。可以看到两个字符串的显示宽度基本相同。另外需要注意的是,由于截断后的字符串通常会附加“…”表示被截断,因此设计文本控件时,对应的文本控件的宽度需要略大于MAX_PIXEL_LEN。
另外,虽然本发明字符串截断方法实施例与直接按最大字节数截断相比,增加了对每个字符判断以及计算像素宽度的时间,但由于这个处理过程本身是一个线性过程,而且在实际应用中,需要按这种方法处理的字符数最多不过几十个,因此并不会对性能造成影响。
由此可见,本发明实施例可以动态获取待截断字符串中每个字符所占的字节长度,从而确保在字符串截断过程中,当待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件时,将子字符串减去当前字符作为截断子字符串进行显示,从而保证字符完整而不会显示乱码;另外,根据字符的实际像素宽度,设置最大像素宽度对字符串进行截断,可以保证包含不同类型字符的字符串最终截断后的显示宽度服务符合设定的文本控件宽度的要求。
相应的,参见图7所示,本发明还提供一种字符串截断装置实施例包括:
第一获得单元701,用于读取待截断字符串,获得当前字符所占字节长度;
第一判断单元702,用于判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件;
截断单元703,用于如果从待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将子字符串减去当前字符作为截断子字符串进行显示。
在本发明的一些实施例中,本发明实施例字符串截断装置还可以包括:
显示单元,如果从待截断字符串中的起始字符到当前字符组成的子字符串不满足预设截断条件,则当前字符的下一字符作为当前字符,返回第一判断单元判断从待截断字符串中的起始字符到当前字符组成的子字符串是否满足预设截断条件,直到待截断字符串满足预设截断条件,则对待截断字符串进行显示。
在本发明的一些实施例中,本发明实施例字符串截断装置还可以包括:
第二获得单元,用于获得从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度。
具体的,在本发明的一些实施例中,第一判断单元可以具体用于:
判断从待截断字符串中的起始字符到当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
具体的,在本发明的一些实施例中,第一判断单元还可以具体用于:
判断从待截断字符串中的起始字符到当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
具体的,在本发明的一些实施例中,第一获得单元可以具体用于:
当待截断字符串采用等长编码时,根据待截断字符串的编码类型直接获得每个字符所占字节长度。
或者,在本发明的一些实施例中,第一获得单元可以具体用于:
当待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
在本发明的一些实施例中,本发明实施例字符串截断装置还可以包括:
第二判断单元,用于判断待截断字符串是否满足预设截断条件,如果是,则第一获得单元获得当前字符所占字节长度,如果否,则直接对待截断字符串进行显示。
具体的,在本发明的一些实施例中,第二判断单元具体用于:
获得待截断字符串的实际显示像素宽度;
判断待截断字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则第一获得单元获得当前字符所占字节长度,如果否,则直接对待截断字符串进行显示。
具体的,在本发明的一些实施例中,第二判断单元具体用于:
判断待截断字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则第一获得单元获得当前字符所占字节长度,如果否,则直接对待截断字符串进行显示。
由此可见,本发明实施例可以动态获取待截断字符串中每个字符所占的字节长度,从而确保在字符串截断过程中,当待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件时,将子字符串减去当前字符作为截断子字符串进行显示,从而保证字符完整而不会显示乱码;另外,根据字符的实际像素宽度,设置最大像素宽度对字符串进行截断,可以保证包含不同类型字符的字符串最终截断后的显示宽度符合预先设定的文本控件宽度的要求。
相应的,本发明实施例还提供一种终端,如图8所示,该终端可以包括射频(RF,RadioFrequency)电路801、包括有一个或一个以上计算机可读存储介质的存储器802、输入单元803、显示单元804、传感器805、音频电路806、无线保真(WiFi,WirelessFidelity)模块807、包括有一个或者一个以上处理核心的处理器808、以及电源809等部件。本领域技术人员可以理解,图8中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路801可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器808处理;另外,将涉及上行的数据发送给基站。通常,RF电路801包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,SubscriberIdentityModule)卡、收发信机、耦合器、低噪声放大器(LNA,LowNoiseAmplifier)、双工器等。此外,RF电路801还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,GlobalSystemofMobilecommunication)、通用分组无线服务(GPRS,GeneralPacketRadioService)、码分多址(CDMA,CodeDivisionMultipleAccess)、宽带码分多址(WCDMA,WidebandCodeDivisionMultipleAccess)、长期演进(LTE,LongTermEvolution)、电子邮件、短消息服务(SMS,ShortMessagingService)等。
存储器802可用于存储软件程序以及模块,处理器808通过运行存储在存储器802的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器802可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器802可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器802还可以包括存储器控制器,以提供处理器808和输入单元803对存储器802的访问。
输入单元803可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元803可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器808,并能接收处理器808发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元803还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元804可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元804可包括显示面板,可选的,可以采用液晶显示器(LCD,LiquidCrystalDisplay)、有机发光二极管(OLED,OrganicLight-EmittingDiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器808以确定触摸事件的类型,随后处理器808根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图8中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器805,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路806、扬声器,传声器可提供用户与终端之间的音频接口。音频电路806可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路806接收后转换为音频数据,再将音频数据输出处理器808处理后,经RF电路801以发送给比如另一终端,或者将音频数据输出至存储器802以便进一步处理。音频电路806还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块807可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块807,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器808是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器802内的软件程序和/或模块,以及调用存储在存储器802内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器808可包括一个或多个处理核心;优选的,处理器808可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器808中。
终端还包括给各个部件供电的电源809(比如电池),优选的,电源可以通过电源管理系统与处理器808逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源809还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器808会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器802中,并由处理器808来运行存储在存储器802中的应用程序,从而实现各种功能:
读取待截断字符串,获得当前字符所占字节长度;
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串减去当前字符作为截断子字符串进行显示。
相应的,还包括:
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设截断条件,则将所述当前字符的下一字符作为当前字符,返回获得当前字符所占字节长度,直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。
相应的,还包括:
获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度。
相应的,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
相应的,所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每个字符所占字节长度。
相应的,所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
相应的,读取待截断字符串后,还包括:
判断所述待截断字符串是否满足预设截断条件,如果是,则继续执行获得当前字符所占字节长度及后续步骤,如果否,则直接对所述待截断字符串进行显示。
相应的,判断所述待截断字符串是否满足预设截断条件,包括:
获得所述待截断字符串的实际显示像素宽度;
判断所述待截断字符串的实际显示像素宽度是否大于预设最大像素宽度。
相应的,判断所述待截断字符串是否满足预设截断条件,包括:
判断所述待截断字符串的所占字节长度总和是否大于预设最大字节长度。
由此可见,本发明实施例可以动态获取待截断字符串中每个字符所占的字节长度,从而确保在字符串截断过程中,当待截断字符串中的起始字符到当前字符组成的子字符串满足预设截断条件时,将子字符串减去当前字符作为截断子字符串进行显示,从而保证字符完整而不会显示乱码;另外,根据字符的实际像素宽度,设置最大像素宽度对字符串进行截断,可以保证包含不同类型字符的字符串最终截断后的显示宽度符合预先设定的文本控件宽度的要求。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统或装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种字符串截断方法,其特征在于,所述方法包括:
步骤A:读取待截断字符串,判断待截断字符串是否满足预设截断条件,如果是,则获得当前字符所占字节长度,并继续执行步骤B,所述预设截断条件为所述待截断字符串的所占字节长度总和大于预设最大字节长度;如果否,则直接对所述待截断字符串进行显示;
步骤B:判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件;
步骤C:如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串的所占字节长度总和减去当前字符所占字节长度作为截断子字符串进行显示;
所述获得当前字符所占字节长度,包括:
当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每个字符所占字节长度;
当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设截断条件,则将所述当前字符的下一字符作为当前字符,返回获得当前字符所占字节长度,直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度。
4.根据权利要求3所述的方法,其特征在于,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
5.根据权利要求1所述的方法,其特征在于,所述判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,包括:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
6.一种字符串截断装置,其特征在于,所述装置包括:
第一获得单元,用于读取待截断字符串,判断待截断字符串是否满足预设截断条件,如果是,则获得当前字符所占字节长度,所述预设截断条件为所述待截断字符串的所占字节长度总和大于预设最大字节长度;如果否,则直接对所述待截断字符串进行显示;
第一判断单元,用于判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串是否满足预设截断条件,所述预设截断条件为大于预设最大字节长度;
截断单元,用于如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串满足预设截断条件,则根据当前字符所占字节长度,将所述子字符串的所占字节长度总和减去当前字符所占字节长度作为截断子字符串进行显示;
所述第一获得单元具体用于:
当所述待截断字符串采用等长编码时,根据所述待截断字符串的编码类型直接获得每个字符所占字节长度;
当所述待截断字符串采用变长编码时,根据当前字符的首字节获得当前字符所占字节长度。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
显示单元,如果从所述待截断字符串中的起始字符到所述当前字符组成的子字符串不满足预设截断条件,则将所述当前字符的下一字符作为当前字符,返回所述第一获得单元获得当前字符所占字节长度,直到所述待截断字符串满足预设截断条件,则对所述待截断字符串进行显示。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二获得单元,用于获得从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度。
9.根据权利要求8所述的装置,其特征在于,所述第一判断单元具体用于:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的实际显示像素宽度是否大于预设最大像素宽度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
10.根据权利要求6所述的装置,其特征在于,所述第一判断单元具体用于:
判断从所述待截断字符串中的起始字符到所述当前字符组成的子字符串的所占字节长度总和是否大于预设最大字节长度,如果是,则满足预设截断条件,如果否,则不满足预设截断条件。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310302779.8A CN104063362B (zh) | 2013-07-18 | 2013-07-18 | 一种字符串截断方法及装置 |
PCT/CN2014/077532 WO2015007115A1 (en) | 2013-07-18 | 2014-05-15 | Method and apparatus of truncating character string |
US14/462,790 US20150026568A1 (en) | 2013-07-18 | 2014-08-19 | Method and apparatus of truncating character string |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310302779.8A CN104063362B (zh) | 2013-07-18 | 2013-07-18 | 一种字符串截断方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104063362A CN104063362A (zh) | 2014-09-24 |
CN104063362B true CN104063362B (zh) | 2016-03-16 |
Family
ID=51551078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310302779.8A Active CN104063362B (zh) | 2013-07-18 | 2013-07-18 | 一种字符串截断方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104063362B (zh) |
WO (1) | WO2015007115A1 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786308A (zh) * | 2014-12-26 | 2016-07-20 | 阿里巴巴集团控股有限公司 | 字符串的显示方法和装置 |
CN105915586A (zh) * | 2016-04-01 | 2016-08-31 | 乐视控股(北京)有限公司 | 文本上传、同步方法和装置 |
CN105897875A (zh) * | 2016-04-01 | 2016-08-24 | 乐视控股(北京)有限公司 | 文本截断、上传方法和装置 |
CN106055125B (zh) * | 2016-08-01 | 2021-04-02 | Tcl科技集团股份有限公司 | 一种字符混和输入方法及系统 |
CN107135429B (zh) * | 2017-05-12 | 2019-10-25 | 武汉斗鱼网络科技有限公司 | 弹幕消息解析方法、装置、电子设备及计算机可读储存介质 |
CN109308146B (zh) * | 2017-07-27 | 2022-03-11 | 株洲中车时代电气股份有限公司 | 一种基于控件属性的字符串自适应分割显示方法及系统 |
CN110633437B (zh) * | 2018-05-31 | 2022-12-16 | 创新先进技术有限公司 | 一种多行省略显示的方法及装置 |
CN109543002B (zh) * | 2018-10-19 | 2020-12-11 | 中南民族大学 | 简写字符的还原方法、装置、设备及存储介质 |
CA3130142A1 (en) | 2019-02-28 | 2020-09-03 | Ecolab Usa Inc. | Hydrogen sulfide scavengers for asphalt |
CN112307010B (zh) * | 2019-07-29 | 2024-04-16 | 创新先进技术有限公司 | 一种数据存储方法、装置及设备 |
CN112307011B (zh) * | 2019-07-29 | 2024-07-26 | 创新先进技术有限公司 | 一种数据存储方法、装置及设备 |
CN115348232B (zh) * | 2022-08-10 | 2024-04-19 | 中国建设银行股份有限公司 | 解码方法、装置、电子设备、介质及产品 |
CN116033412B (zh) * | 2023-02-22 | 2024-10-11 | 北斗星通智联科技有限责任公司 | 一种蓝牙名称截断方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1381795A (zh) * | 2001-04-18 | 2002-11-27 | 无敌科技(西安)有限公司 | 应用于掌上型浏览装置的自动格式排版方法 |
CN1444378A (zh) * | 2002-03-11 | 2003-09-24 | 联想(北京)有限公司 | 超长短消息发送的方法 |
CN102063413A (zh) * | 2010-12-15 | 2011-05-18 | 掌富科技(南京)有限公司 | 一种移动终端的快速文字排版方法 |
CN102364961A (zh) * | 2011-11-18 | 2012-02-29 | 百视通网络电视技术发展有限责任公司 | 基于iptv中电子节目指南页面的字符截取方法及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7165264B1 (en) * | 2001-07-26 | 2007-01-16 | Digeo, Inc. | Client-side tool for splitting or truncating text strings for interactive television |
CN100399839C (zh) * | 2005-02-21 | 2008-07-02 | 宏碁股份有限公司 | 短信息字符串截取方法 |
CN101599264B (zh) * | 2009-07-15 | 2011-10-12 | 青岛海信移动通信技术股份有限公司 | 移动终端上显示字符的方法及相关装置 |
-
2013
- 2013-07-18 CN CN201310302779.8A patent/CN104063362B/zh active Active
-
2014
- 2014-05-15 WO PCT/CN2014/077532 patent/WO2015007115A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1381795A (zh) * | 2001-04-18 | 2002-11-27 | 无敌科技(西安)有限公司 | 应用于掌上型浏览装置的自动格式排版方法 |
CN1444378A (zh) * | 2002-03-11 | 2003-09-24 | 联想(北京)有限公司 | 超长短消息发送的方法 |
CN102063413A (zh) * | 2010-12-15 | 2011-05-18 | 掌富科技(南京)有限公司 | 一种移动终端的快速文字排版方法 |
CN102364961A (zh) * | 2011-11-18 | 2012-02-29 | 百视通网络电视技术发展有限责任公司 | 基于iptv中电子节目指南页面的字符截取方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104063362A (zh) | 2014-09-24 |
WO2015007115A1 (en) | 2015-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104063362B (zh) | 一种字符串截断方法及装置 | |
CN104978115A (zh) | 内容显示方法及装置 | |
CN105022616A (zh) | 一种生成网页页面的方法及装置 | |
CN104135502B (zh) | 一种实现应用消息提醒的方法、相关设备及系统 | |
CN104238893A (zh) | 一种对视频预览图片进行显示的方法和装置 | |
CN104850406A (zh) | 一种切换页面的方法和装置 | |
CN104134043B (zh) | 对内容进行隐藏、解隐藏的方法、装置及终端 | |
CN104572046A (zh) | 一种堆栈还原方法和计算机系统 | |
CN103177217B (zh) | 一种文件扫描方法、系统及客户端和服务器 | |
CN104077184A (zh) | 一种应用程序的进程控制方法及计算机系统 | |
CN104951637A (zh) | 一种获取训练参数的方法及装置 | |
CN104679724A (zh) | 页面注释方法及装置 | |
CN105095161A (zh) | 一种显示富文本信息的方法及装置 | |
CN103327029A (zh) | 一种恶意网址的检测方法和设备 | |
CN105095259A (zh) | 瀑布流对象显示方法及装置 | |
CN103823851A (zh) | 网页显示方法和装置 | |
CN107632985A (zh) | 网页预加载方法及装置 | |
CN104238931A (zh) | 信息输入方法、装置及电子设备 | |
CN105553718A (zh) | 引导信息显示方法及装置 | |
CN104636455A (zh) | 应用程序映射信息的获取方法及装置 | |
CN103310155B (zh) | 一种查找病毒母体的方法和装置 | |
CN104461485A (zh) | 一种窗体着色的方法及用户设备 | |
CN104834638A (zh) | 一种热词展示方法、装置及电子设备 | |
CN104216935A (zh) | 一种文件查找的方法及终端 | |
CN105224159A (zh) | 显示窗口的方法、装置及终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |