TC官方合作论坛

 找回密码
 立即注册
查看: 2820|回复: 6

[问题] 如何判断一个字符串的实际显示长度

[复制链接]
发表于 2013-11-11 19:39:56 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
在显示数据时(如信息标题),如果字符串过长将截取一定长度的字符串然后加个省略号显示,可字母和汉字,大小写字母在显示时虽然length一样可显示的长度却不一样,有什么办法可以解决截取的字符串在显示时都是一样的呢?
回复

使用道具 举报

发表于 2013-11-11 20:40:49 | 显示全部楼层
本帖最后由 W54540179 于 2013-11-11 21:17 编辑

弄错了 ....
回复

使用道具 举报

 楼主| 发表于 2013-11-11 21:02:46 | 显示全部楼层
W54540179 发表于 2013-11-11 20:40
字符 字符串中一个汉字是有2个占字节,一个英文字母,数字,还有常见的英文符号(键盘上的符号)都是占1个字节, ...

谢谢,但是并不是所拥有的字符都符合您给出的规则,有些字符占两字节的空间,但实际上他显示出来会更长(很多特殊符号都是这样),我并不想禁用上述的"特殊符号",并且tc貌似,只是貌似,也没有查看字符占空间的字节数的代码,但C有system.text.什么的可以查看字符的显示长度,tc好像没有
回复 支持 反对

使用道具 举报

发表于 2013-11-11 21:06:22 | 显示全部楼层
本帖最后由 W54540179 于 2013-11-11 21:18 编辑

1111111111
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-11-11 21:10:18 | 显示全部楼层
W54540179 发表于 2013-11-11 21:06
汉字占2个字节, 英文占1个字节..特殊符号那要看你特殊符号 是属于什么字符集了.只要是ASCII码对应的 都占1 ...

谢谢,问一下怎么判断是否为ASCII码对应的字符,怎么检测字符占得字节数量?
回复 支持 反对

使用道具 举报

发表于 2013-11-11 21:17:38 | 显示全部楼层
晕 弄错了............看错你的问题了...
回复 支持 反对

使用道具 举报

发表于 2013-11-11 21:28:10 | 显示全部楼层
看错你的问题了 ... 这个也不是绝对.你可以比较下几个英文字符宽度.和几个汉字的宽度是一样宽的.  在用刚刚我说的那个办法 检测 你字符串里面有几个字母. 然后 名可明白了? 比如3个英文对应2个汉字. 以2个汉字为标准宽度,我要求显示10个标准宽度.那就纯汉字20个,纯英文30个.汉字和因为结合?
先检测现有字符串中前20个字符,查看有几个汉字.
比如前20个字符有10个汉字10个引文,对应5+10/3个标准宽度. 那么你还需要几个标准宽度? 10-5-10/3 至于 宽度你要取大概. 是不是那么你在向后检测4个字符.看看里面有几个英文,有几个汉字,  当然 要取要一样 是不可能的,要取大概的.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-23 09:54 , Processed in 0.039527 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表