CN101599264B - 移动终端上显示字符的方法及相关装置 - Google Patents
移动终端上显示字符的方法及相关装置 Download PDFInfo
- Publication number
- CN101599264B CN101599264B CN2009101520360A CN200910152036A CN101599264B CN 101599264 B CN101599264 B CN 101599264B CN 2009101520360 A CN2009101520360 A CN 2009101520360A CN 200910152036 A CN200910152036 A CN 200910152036A CN 101599264 B CN101599264 B CN 101599264B
- Authority
- CN
- China
- Prior art keywords
- character
- horizontal direction
- screen
- pixel count
- character string
- 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
Images
Abstract
本发明公开了一种移动终端上显示字符的方法及相关装置,用以提供一种显示效果符合移动运营商确定的业务规范要求的移动终端上显示字符的方案。该方法包括:确定该移动终端屏幕每行水平方向最多可输出的像素数,并确定待显示字符串中的可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;在待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示待显示字符串;以及在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号。
Description
技术领域
本发明涉及移动通信技术领域,尤其涉及一种移动终端上显示字符的方法以及一种移动终端上显示字符的装置。
背景技术
在Unicode编码出现之前,没有一种编码方式可以对世界上的所有文字、符号进行编码。例如,著名的7位ASCII字符集是为美国英语设计的,可以为128(128=27)个字符进行编码,包括大小写字母、数字0-9、常用标点符号等。然而,该字符集在处理其他语言中的字符时,例如带有音调标号的欧洲文字、亚洲文字时就会出现问题,因为仅仅是亚洲语言中的汉语就包含80000以上的字库,显然,仅仅靠7位字符集无法为所有语言中使用的字符进行编码。因而在此之前同时存在着多种编码方式,受限于计算机的处理能力和存储能力,计算机往往只支持其中的几种编码,因此在计算机输出文档时还是可能由于不支持文档所用的编码而出现乱码问题,并且数据在不同的编码中转换时存在着数据被损坏的风险。
Unicode编码的出现解决了上述问题,16位的Unicode字符集用数字0~0x10FFFF来映射所有存在的字符,最多可容纳1114112个字符。
然而,对于能够用ASCII进行编码的字符来说,使用Unicode来编码并不高效,因为使用Unicode编码需要占用比ASCII大一倍的存储空间。因此,现有技术提出了一些介于Unicode编码和ASCII编码之间的编码方式,这些编码方式被称为通用转换格式UTF(Universal Transformation Format)。其中UTF8是一种被广泛应用的通用转换格式,例如在移动终端和网络中广泛采用的XML格式的文件采用UTF8作为编码标准。请参照表1,为Unicode与UTF8之间的转换表。
表1Unicode与UTF8之间的转换表
Unicode编码(16位) | UTF8编码(2进制) |
000000-00007F | 0xxxxxxx |
000080-0007FF | 110xxxxx 10xxxxxx |
000800-00FFFF | 1110xxxx 10xxxxxx 10xxxxxx |
010000-10FFFF | 11110xxx 10xxxxxx 10xxxxxx 10xxxxxx |
UTF8对于0x00-0x7F之间的字符,用与ASCII编码完全相同的编码方法,对于一个文字,UTF8最多需要4个字节对该文字进行编码。
根据移动通信运营商确定的业务规范,在XML格式文件中一个待显示的的字符串的内容如果能够在移动终端屏幕上的一行完全显示出来时,通过单行显示字符串内容,否则在行尾以省略号代替无法显示出的字符串。
而在现有的移动终端字符显示方案中,如果无法在移动终端屏幕的一行中完全显示待显示字符串的内容,则采用滚动换行显示方案,请参照附图1a,其中待显示的字符串为“文件采用UTF8作为编码标准”;或将全部字符串内容装载到显示内存中,屏幕显示时忽略掉不能在一行中显示的字符串内容的方案,请参照附图1b。采用上述第二种显示方案时,往往会出现只能显示部分字符的现象。
因此,现有的移动终端字符显示方案的显示效果不符合移动通信运营商确定的业务规范的要求。
发明内容
本发明实施例提供一种移动终端上显示字符的方法,用以提供一种显示效果符合移动运营商确定的业务规范要求的移动终端上显示字符的方案。
对应地,本发明实施例还提供了一种移动终端上显示字符的装置。
本发明实施例提供的技术方案如下:
一种移动终端上显示字符的方法,包括:
确定该移动终端屏幕每行水平方向最多可输出的像素数,所述移动终端屏幕每行水平方向最多可输出的像素数为移动终端屏幕每行水平方向实际最多可输出的像素数减去预留的预定像素数之差,所述预定像素数为一个ASCII符号或一个汉字水平方向占用的像素数;并按照从第1个字符开始、每次递增1个字符的方式,逐次从待显示字符串中取出一个字符,针对每个取出的字符执行:确定显示该字符水平方向所需占用的像素数,并根据确定出的像素数,确定预期在屏幕一行中显示该字符以及待显示字符串中该字符前的字符时,水平方向所需占用的像素数的总和;在所需占用的像素数的总和不大于所述每行水平方向最多可输出的像素数时,将该字符以及待显示字符串中该字符前的字符作为可显示字符;以及在所需占用的像素数的总和大于所述每行水平方向最多可输出的像素数时,将待显示字符串中该字符前的字符作为可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;在待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示待显示字符串;以及在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号。
一种移动终端上显示字符的装置,包括:
第一确定单元,用于确定该移动终端屏幕每行水平方向最多可输出的像素数,所述移动终端屏幕每行水平方向最多可输出的像素数为移动终端屏幕每行水平方向实际最多可输出的像素数减去预留的预定像素数之差,所述预定像素数为一个ASCII符号或一个汉字水平方向占用的像素数;第二确定单元,用于确定待显示字符串中的可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;显示单元,用于在第二确定单元确定出待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示待显示字符串;以及在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号;所述第二确定单元具体包括:第一确定子单元,用于按照从第1个字符开始、每次递增1个字符的方式,逐次从待显示字符串中取出一个字符,针对每个取出的字符执行:确定显示该字符水平方向所需占用的像素数;第二确定子单元,用于根据第一确定子单元确定出的像素数,确定预期在屏幕一行中显示该字符以及待显示字符串中该字符前的字符时,水平方向所需占用的像素数的总和;第三确定子单元,用于在第二确定子单元确定出的所需占用的像素数的总和不大于所述每行水平方向最多可输出的像素数时,将该字符以及待显示字符串中该字符前的字符作为可显示字符;第四确定子单元,用于在第二确定子单元确定出的所需占用的像素数的总和大于所述每行水平方向最多可输出的像素数时,将待显示字符串中该字符前的字符作为可显示字符。
本发明实施例通过在获取待显示字符串后,根据屏幕每行水平方向最多可输出的像素数,以及待显示字符串中各个字符预期占用的像素数,确定待显示字符串中的可显示字符,在待显示字符串中每个字符都为可显示字符时,将待显示字符串显示到屏幕上;在并非待显示字符串中每个字符都为可显示字符时,将可显示字符显示到屏幕上并显示省略号的方案,该种方案的显示效果符合移动通信运营商确定的业务规范的要求。
附图说明
图1a为现有技术的一种字符显示效果示意图;
图1b为现有技术的另一种字符显示效果示意图;
图2为本发明实施例的主要实现原理流程图;
图3为本发明实施例一提出的移动终端上显示字符的方法的流程图;
图4为本发明实施例二提出的移动终端上显示字符的方法的流程图;
图5a为本发明提出的移动终端上显示字符的方案的第一种显示效果示意图;
图5b为本发明提出的移动终端上显示字符的方案的第二种显示效果示意图;
图6为本发明实施例提出的移动终端上显示字符的装置的结构示意图;
图7为本发明实施例提出的移动终端上显示字符的装置中第二确定单元的结构示意图。
具体实施方式
现有的移动终端字符显示技术难以满足运营商确定的业务规范的要求。本发明实施例提出了一种移动终端上显示字符的方法,在将待显示字符串显示到屏幕上之前,根据屏幕每行水平方向最多可输出的像素数,确定待显示字符串中的可显示字符,在待显示字符串中每个字符都为可显示字符时,将待显示字符串显示到屏幕上的一行中;以及在并非待显示字符串中每个字符都为可显示字符时,将可显示字符和省略号显示到屏幕上的一行中。
下面结合各个附图对本发明实施例技术方案的主要实现原理、具体实施方式及其对应能够达到的有益效果进行详细的阐述。
如图2所示,本发明实施例的主要实现原理流程如下:
步骤10,确定该移动终端屏幕每行水平方向最多可输出的像素数;
步骤20,确定待显示字符串中的可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;
步骤30,在步骤20确定出待显示字符串中每个字符都为可显示字符时,将待显示字符串显示到屏幕上的一行中;在并非待显示字符串中每个字符都为可显示字符时,将可显示字符和省略号显示到屏幕上的一行中。
下面将依据本发明上述发明原理,详细介绍一个实施例来对本发明方法的主要实现原理进行详细的阐述和说明。
请参照附图3,为本发明实施例一提出的移动终端上显示字符的方法的详细流程图。
步骤301,移动终端接收网络侧服务器发送来的采用UTF8编码标准的XML格式文件,使用XML格式文件对应的解析器从XML文件中获取待显示的UTF8格式的字符串,例如在本实施例中待显示字符串str为“文件采用UTF8作为编码标准”;
步骤302,确定移动终端屏幕每行水平方向最多可输出的像素数pixel_max_len。通常移动终端的生产厂商、或移动终端所安装的操作系统的生成厂商都提供了用于获取屏幕水平方向最多可输出的像素数量的应用程序接口API,在本实施例中每行水平方向最多可输出的像素数pixel_max_len已预留了预定的像素数,即pixel_max_len比每行水平方向真正最多可输出的像素数少预定的像素数,该预定的像素数可以为某个ASCII符号水平方向占用的像素数,也可以为一个汉字水平方向占用的像素数或为其他值;
步骤303,将字符串索引值变量char_index、像素计数值变量pixel_sum的初始值设置为0,其中字符串索引值变量char_index用于记录当前处理的字符对应的第一个编码字节在待显示字符串对应的存储空间中的位置标识,像素计数值变量pixel_sum用于记录在屏幕一行中显示当前处理的字符以及待显示字符串中当前处理字符串之前的字符水平方向预期所需占用的像素数量;
步骤304,在char_index大于0、且小于等于待显示字符串占用全部字节中的最后一个字节的索引strlen(str)-1时,进入步骤305,否则处理结束;
步骤305,判断当前字符是否为ASCII编码,具体可通过判断当前字符对应的第一个编码字节str[char_index]是否在0x00到0x7F范围内来确定当前字符是否为ASCII编码,若是,说明当前字符采用ASCII编码,当前字符只对应着一个编码字节,进入步骤306;否则当前字符并非采用ASCII编码,进入步骤307;
步骤306,根据当前字符对应的编码字节str[char_index],从预定设定的ASCII编码中各个字符显示时水平方向分别所需占用的像素数量中,选择出str[char_index]对应的当前字符所需占用的像素数量textSize,进入步骤308;
步骤308,在pixel_sum上累加textSize,即pixel_sum=pixel_sum+textSize,确定若在屏幕一行中显示当前字符以及待显示字符串中该字符以前的字符时,水平方向预期所需占用的像素数,进入步骤309;
步骤309,判断pixel_sum是否小于步骤302确定出的pixel_max_len,若是,进入步骤310;否则进入步骤311;
步骤310,将字符串索引值变量char_index加1,将当前字符以及字符串中该字符之前的字符作为可显示字符,并对当前字符进行更新,将待显示字符串中当前字符的下一个字符作为新的当前字符,即以1个字节为偏移量,从待显示字符串对应的存储空间中读取更新后的当前字符对应的第一个编码字节,进入步骤304;
步骤311,判断当前处理的字符是否为待显示字符串中的最后一个字符,即字节str[char_index]是否为待显示字符串对应的存储空间中的最后一个字节,若是,在屏幕的一行中显示出待显示字符串;否则,不显示字节str[char_index]对应的字符,在屏幕的一行中将可显示字符显示出来,并在该行的末尾添加省略号,由于预先预留了一个字符所需的像素数,因此不会导致出现最后一个字符或省略号显示不完全的问题,处理结束;
步骤307,根据第char_index个字节str[char_index],确定以该字节为编码第一个字节的当前字符所需占用的全部n个字节,具体的确定方式请参照背景技术中表1所示,例如若该字节的内容为110xxxxx,以该字节为编码第一个字节的当前字符所需占用2个字节;若该字节的内容为1110xxxx,则以该字节为编码第一个字节的当前字符所需占用3个字节,其他情况在这里不再赘述;并确定第char_index个字节str[char_index],以及在待显示字符串对应的存储空间中该字节之后的n-1个字节对应的当前字符显示时水平方向所需占用的像素数texeSize,进入步骤312;
步骤312,在pixel_sum上累加textSize,即pixel_sum=pixel_sum+textSize,确定若在屏幕的一行中显示当前字符以及待显示字符串中该字符以前的字符时,水平方向预期所需占用的像素数,进入步骤313;
步骤313,判断pixel_sum是否小于步骤302确定出的pixel_max_len,若是,进入步骤314;否则进入步骤315;
步骤314,将当前字符以及字符串中该字符之前的字符作为可显示字符,字符串索引值变量char_index加n,对当前字符进行更新,将待显示字符串中当前字符的下一个字符作为新的当前字符,即以n个字节为偏移量,从待显示字符串对应的存储空间中读取更新后的当前字符对应的编码字节,进入步骤304;
步骤315,判断当前处理的字符是否为待显示字符串中的最后一个字符,即字节str[char_index+n-1]是否为待显示字符串对应存储空间中的最后一个字节,若是,在屏幕的一行中显示出待显示字符串;否则,不显示字节str[char_index]对应的字符,将待显示字符串中该字节以前的各个字节对应的字符显示出来,即将可显示字符显示出来,并在该行末尾添加省略号,由于预先预留了一个字符水平方向所需的像素数,因此不会导致最后一个字符或省略号显示不完全的问题,处理结束。
上述流程中的步骤303~步骤315用于确定出待显示字符串中的可显示字符,基本思想为:按照从第1个字符开始、每次递增1个字符的方式,逐次从待显示字符串对应的存储空间中取出一个字符对应的字符编码,并根据取出的字符对应的字符编码,确定该字符显示时水平方向预期所需占用的像素数,若在屏幕一行中显示该字符以及待显示字符串中该字符前的字符水平方向预期所需占用的总的像素数不大于屏幕每行水平方向最多可用于字符串输出的像素数,则该字符以及待显示字符串中该字符前的字符为可显示字符,否则,将待显示字符串中该字符前的字符为可显示字符,并不对待显示字符串中该字符以后的字符再进行上述处理。
请参照附图4,为本发明实施例二提出的移动终端上显示字符的方法的详细流程图。
步骤401,移动终端接收网络侧服务器发送来的采用UTF8编码标准的XML格式文件,使用XML格式文件对应的解析器从XML文件中获取待显示的UTF8格式的字符串,例如在本实施例中待显示字符串str为“文件采用UTF8作为编码标准”;
步骤402,确定移动终端屏幕每行水平方向最多可输出的像素数pixel_max_len。通常移动终端的生产厂商、或移动终端所安装的操作系统的生成厂商都提供了用于获取屏幕水平方向最多可输出的像素数量的应用程序接口API,在本实施例中每行最多可用于字符串输出的像素数pixel_max_len已预留了预定的像素数;
步骤403,将字符串索引值变量char_index、像素计数值变量pixel_sum的初始值设置为0,其中字符串索引值变量char_index用于记录当前处理的字节在待显示字符串对应的存储空间中的位置标识,像素计数值变量pixel_sum用于记录在屏幕一行中显示当前处理的字符以及待显示字符串中当前处理字符串之前的字符水平方向预期所需占用的像素数量;
步骤404,判断char_index是否为待显示字符串占用的全部字节中的最后一个字节,具体的判断方法为判断char_index是否小于strlen(str),若是,进入步骤405,否则进入步骤406;
步骤405,判断当前字符是否为ASCII编码,即判断当前字符对应的第一个编码字节str[char_index]是否在0x00到0x7F范围内,若是,说明当前字符采用ASCII编码,进入步骤407;否则说明当前字符不是采用ASCII编码的字符,进入步骤408;
步骤406,若char_index不小于strlen(str),说明当前处理的字节为字符串中的最后一个字符对应的编码,将全部待显示字符串str显示出来,处理结束;
步骤407,根据当前字符对应的编码字节str[char_index],从预定设定的ASCII编码中各个字符显示时水平方向分别所需占用的像素数量中,选择出str[char_index]对应的字符所需占用的像素数量textSize,进入步骤409;
步骤409,在pixel_sum上累加textSize,即pixel_sum=pixel_sum+textSize,确定若在屏幕一行中显示当前字符以及待显示字符串中该字符以前的字符时,水平方向预期所需占用的像素数,进入步骤410;
步骤410,判断pixel_sum是否小于pixel_max_len,若是,进入步骤411;否则进入步骤412;
步骤411,字符串索引值变量char_index加1,将当前字符以及字符串中该字符之前的字符作为可显示字符,并对当前字符进行更新,将待显示字符串中当前字符的下一个字符作为新的当前字符,即以1个字节为偏移量,从待显示字符串对应的存储空间中读取更新后的当前字符对应的第一个编码字节,进入步骤404;
步骤412,判断当前处理的字符是否为待显示字符串中的最后一个字符,即字节str[char_index]是否为待显示字符串中对应的存储空间中的最后一个字节,若是,在屏幕的一行中显示出待显示字符串;否则,不显示字节str[char_index]对应的字符,在屏幕的一行中将待显示字符串中该字节以前的各个字节对应的字符显示出来,即将可显示字符显示出来,并在该行末尾添加省略号,由于预先预留了一个字符所需的像素数,因此不会导致最后一个字符或省略号显示不完全的问题,处理结束;
步骤408,根据第char_index个字节str[char_index],确定以该字节为编码第一个字节的当前字符所需占用的全部n个字节,具体的确定方式请参照背景技术表1所示,例如若该字节的内容为110xxxxx,以该字节为编码第一个字节的字符所需占用2个字节;若该字节的内容为1110xxxx,则以该字节为编码第一个字节的字符所需占用3个字节,其他情况在这里不再赘述;并确定第char_index个字节str[char_index],以及在待显示字符串对应的存储空间中,该字节之后的n-1个字节对应的字符显示时水平方向所需占用的像素数texeSize,进入步骤413;
步骤413,在pixel_sum上累加textSize,即pixel_sum=pixel_sum+textSize,确定若在屏幕的一行中显示第char_index个字节对应的字符以及待显示字符串中该字符以前的字符时,水平方向预期所需占用的像素数,进入步骤414;
步骤414,判断pixel_sum是否小于pixel_max_len,若是,进入步骤415;否则进入步骤416;
步骤415,将当前字符以及字符串中该字符之前的字符作为可显示字符,字符串索引值变量char_index加n,对当前字符进行更新,将待显示字符串中当前字符的下一个字符作为新的当前字符,即以n个字节为偏移量,从待显示字符串对应的存储控件中取出下一个字符对应的编码字节,进入步骤404;
步骤416,判断当前处理的字符是否为待显示字符串中的最后一个字符,即字节str[char_index+n-1]是否为待显示字符串对应的存储空间中的最后一个字节,若是,在屏幕的一行中显示出待显示字符串,即如果待显示字符串为“文件采用UTF8作为编码标”,在处理至最后一个字符“标”时,由于该字符为待显示字符串中的最后一个字符,虽然pixel_sum>pixel_max_len,但是因为预先预留了预定像素数,所以不会出现“标”字显示不全的现象,请参照附图5a所示,处理结束;否则,不显示字节str[char_index]对应的字符,将待显示字符串中该字节以前的各个字节对应的字符显示出来,即将可显示字符显示出来,并在该行末尾添加省略号,由于预先预留了一个字符水平方向所需的像素数,因此不会导致最后一个字符或省略号显示不完全的问题,即如果待显示字符串为“文件采用UTF8作为编码标准”,在处理至字符“标”时,由于该字符不是待显示字符串中的最后一个字符,则不显示“标”,而显示省略号,请参照附图5b所示,处理结束。
本发明实施例通过在获取待显示字符串后,根据屏幕每行水平方向最多可输出的像素数,以及待显示字符串中各个字符预期占用的像素数,确定待显示字符串中的可显示字符,在待显示字符串中每个字符都为可显示字符时,将待显示字符串显示到屏幕中的一行上;在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号,提供了符合移动运营商确定的业务规范要求的在移动终端上显示字符的可行方案。
相应地,本发明实施例还提供了一种移动终端上显示字符的装置,如图6所示,该装置包括第一确定单元601、第二确定单元602和显示单元603,其中,
第一确定单元601,用于确定该移动终端屏幕每行水平方向最多可输出的像素数;
第二确定单元602,用于确定待显示字符串中的可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;
显示单元603,用于在第二确定单元602确定出待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示待显示字符串;以及在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号。
请参照附图7,附图6中的第二确定单元602具体包括第一确定子单元701、第二确定子单元702、第三确定子单元703和第四确定子单元704,其中:
第一确定子单元701,用于按照从第1个字符开始、每次递增1个字符的方式,逐次从待显示字符串中取出一个字符,针对每个取出的字符执行:确定显示该字符水平方向所需占用的像素数;
第二确定子单元702,用于根据第一确定子单元701确定出的像素数,确定预期在屏幕一行中显示该字符以及待显示字符串中该字符前的字符时,水平方向所需占用的像素数的总和;
第三确定子单元703,用于在第二确定子单元702确定出的所需占用的像素数的总和不大于所述每行水平方向最多可输出的像素数时,将该字符以及待显示字符串中该字符前的字符作为可显示字符;
第四确定子单元704,用于在第二确定子单元702确定出的所需占用的像素数的总和大于所述每行水平方向最多可输出的像素数时,将待显示字符串中该字符前的字符作为可显示字符。
上述移动终端上显示字符的装置可设置在移动终端中。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1.一种移动终端上显示字符的方法,其特征在于,包括:
确定该移动终端屏幕每行水平方向最多可输出的像素数,所述移动终端屏幕每行水平方向最多可输出的像素数为移动终端屏幕每行水平方向实际最多可输出的像素数减去预留的预定像素数之差,所述预留像素数为一个ASCII符号或一个汉字水平方向占用的像素数;并
按照从第1个字符开始、每次递增1个字符的方式,逐次从待显示字符串中取出一个字符,针对每个取出的字符执行:确定显示该字符水平方向所需占用的像素数,并根据确定出的像素数,确定预期在屏幕一行中显示该字符以及待显示字符串中该字符前的字符时,水平方向所需占用的像素数的总和;在所需占用的像素数的总和不大于所述每行水平方向最多可输出的像素数时,将该字符以及待显示字符串中该字符前的字符作为可显示字符;以及在所需占用的像素数的总和大于所述每行水平方向最多可输出的像素数时,将待显示字符串中该字符前的字符作为可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;
在待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示待显示字符串;以及
在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号。
2.如权利要求1所述的方法,其特征在于,针对每个取出的字符,在确定显示该字符水平方向所需占用的像素数之前,还包括:
判断该字符是否为ASCII编码。
3.如权利要求2所述的方法,其特征在于,逐次从待显示字符串中取出一个字符,具体包括:
在判断出待取出字符的前一个字符为ASCII编码时,根据前一个字符所占用的一个字节的偏移量,从待显示字符串中取出该待取出字符。
4.如权利要求2所述的方法,其特征在于,逐次从待显示字符串中取出一个字符,具体包括:
在判断出待取出字符的前一个字符不为ASCII编码时,根据前一个字符所占用字节总数的偏移量,从待显示字符串中取出该待取出字符。
5.如权利要求2所述的方法,其特征在于,所述判断该字符是否为ASCII编码,具体包括:
判断该字符对应编码的第一个字节是否位于0x00到0x7F范围内;
若是,判断该字符为ASCII编码;
否则,判断该字符不为ASCII编码。
6.一种移动终端上显示字符的装置,其特征在于,包括:
第一确定单元,用于确定该移动终端屏幕每行水平方向最多可输出的像素数,所述移动终端屏幕每行水平方向最多可输出的像素数为移动终端屏幕每行水平方向实际最多可输出的像素数减去预留的预定像素数之差,所述预留像素数为一个ASCII符号或一个汉字水平方向占用的像素数;
第二确定单元,用于确定待显示字符串中的可显示字符,所述可显示字符预期显示在屏幕一行中时水平方向所需占用的像素数总和不大于屏幕每行水平方向最多可输出的像素数;
显示单元,用于在第二确定单元确定出待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示待显示字符串;以及在并非待显示字符串中每个字符都为可显示字符时,在屏幕的一行中显示可显示字符和省略号;
所述第二确定单元具体包括:
第一确定子单元,用于按照从第1个字符开始、每次递增1个字符的方式,逐次从待显示字符串中取出一个字符,针对每个取出的字符执行:确定显示该字符水平方向所需占用的像素数;
第二确定子单元,用于根据第一确定子单元确定出的像素数,确定预期在屏幕一行中显示该字符以及待显示字符串中该字符前的字符时,水平方向所需占用的像素数的总和;
第三确定子单元,用于在第二确定子单元确定出的所需占用的像素数的总和不大于所述每行水平方向最多可输出的像素数时,将该字符以及待显示字符串中该字符前的字符作为可显示字符;
第四确定子单元,用于在第二确定子单元确定出的所需占用的像素数的总和大于所述每行水平方向最多可输出的像素数时,将待显示字符串中该字符前的字符作为可显示字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101520360A CN101599264B (zh) | 2009-07-15 | 2009-07-15 | 移动终端上显示字符的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009101520360A CN101599264B (zh) | 2009-07-15 | 2009-07-15 | 移动终端上显示字符的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101599264A CN101599264A (zh) | 2009-12-09 |
CN101599264B true CN101599264B (zh) | 2011-10-12 |
Family
ID=41420681
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009101520360A Active CN101599264B (zh) | 2009-07-15 | 2009-07-15 | 移动终端上显示字符的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101599264B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708774B (zh) * | 2012-04-19 | 2015-04-08 | 广东威创视讯科技股份有限公司 | 字符串显示方法和系统 |
CN104063362B (zh) * | 2013-07-18 | 2016-03-16 | 腾讯科技(深圳)有限公司 | 一种字符串截断方法及装置 |
CN104994312A (zh) * | 2015-07-15 | 2015-10-21 | 北京金山安全软件有限公司 | 一种视频生成方法及装置 |
US11137891B2 (en) | 2017-10-09 | 2021-10-05 | Huawei Technologies Co., Ltd. | Display processing method and electronic device |
CN113569534A (zh) * | 2020-04-29 | 2021-10-29 | 杭州海康威视数字技术股份有限公司 | 一种检测文档中乱码的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1941864A (zh) * | 1996-04-19 | 2007-04-04 | 株式会社日立制作所 | 广播和通信接收机 |
CN101114443A (zh) * | 2006-07-28 | 2008-01-30 | 中国科学院声学研究所 | 二维图形引擎中的点阵字符的缩进方法与中文处理方法 |
CN101420662A (zh) * | 2008-11-07 | 2009-04-29 | 深圳华为通信技术有限公司 | 多媒体消息发送方法、处理方法和终端 |
-
2009
- 2009-07-15 CN CN2009101520360A patent/CN101599264B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1941864A (zh) * | 1996-04-19 | 2007-04-04 | 株式会社日立制作所 | 广播和通信接收机 |
CN101114443A (zh) * | 2006-07-28 | 2008-01-30 | 中国科学院声学研究所 | 二维图形引擎中的点阵字符的缩进方法与中文处理方法 |
CN101420662A (zh) * | 2008-11-07 | 2009-04-29 | 深圳华为通信技术有限公司 | 多媒体消息发送方法、处理方法和终端 |
Also Published As
Publication number | Publication date |
---|---|
CN101599264A (zh) | 2009-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101599264B (zh) | 移动终端上显示字符的方法及相关装置 | |
CN1794222B (zh) | 用于最佳段落排版的方法和系统 | |
CN101526963A (zh) | 网页编码识别方法、装置和终端设备 | |
CN101299857A (zh) | 一种输出通讯信息的方法及装置 | |
CN102118293A (zh) | 一种通讯报文压缩存储方法 | |
CN110263007A (zh) | 一种文件夹命名方法、系统及电子设备和存储介质 | |
CN101674552A (zh) | 一种短信编码方法与终端 | |
CN102479075A (zh) | 嵌入式设备中多语言显示方法及装置 | |
CN101963954A (zh) | 一种文字显示的方法及装置 | |
CN104750663A (zh) | 页面中文本乱码的识别方法及装置 | |
CN101345952B (zh) | 客户身份识别卡的数据存储、读取方法、装置及系统 | |
CN103970913A (zh) | Utf-8与ansi编码识别方法以及装置 | |
CN102262520B (zh) | 基于内置式平台手机的文本显示方法及其应用的装置 | |
CN1862525A (zh) | 一种编码转换方法 | |
CN101754155A (zh) | 话单格式转换方法和装置以及话单处理方法和系统 | |
CN104360988A (zh) | 中文字符的编码方式的识别方法和装置 | |
CN101359257B (zh) | 一种利用数字键盘进行字词输入的方法和装置 | |
CN101101606A (zh) | 用于嵌入式浏览器的网页编码语言自动识别方法及装置 | |
CN101771846B (zh) | 一种字幕校准的方法和电子设备 | |
CN100390783C (zh) | 进行格变换的方法和系统 | |
CN202602827U (zh) | 基于通用格式码表的可变长解码装置 | |
CN104699370A (zh) | 一种输入方法及终端 | |
CN112016270B (zh) | 汉信码的物流信息编码方法、装置及设备 | |
CN102131161A (zh) | 一种短消息的编码方法、装置及系统 | |
CN101702149B (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 |