TC官方合作论坛

 找回密码
 立即注册
查看: 463|回复: 9
打印 上一主题 下一主题

[脚本] 请教中英文字符串长度的字节数判断

[复制链接]
跳转到指定楼层
楼主
发表于 2015-5-29 10:28:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

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

x
请教各位:
TC提供的strlen()函数,返回的是字符个数(中英文字符都是1)。

比如:
strlen(中国123)返回5,字节数应该是7。
那么如何获取中英文字符串的字节数呢?
回复

使用道具 举报

沙发
发表于 2015-5-29 10:47:43 | 只看该作者
返回的是字符数量,不是所占字节数
回复 支持 反对

使用道具 举报

板凳
发表于 2015-5-29 10:56:18 | 只看该作者
tc内部使用的是unicode所以不关中英文其实都是占2个字节的
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2015-5-29 11:15:52 | 只看该作者
那么有什么办法能获取中英文字符串的字节数呢?
回复 支持 反对

使用道具 举报

5#
发表于 2015-5-29 11:19:10 | 只看该作者
window版中 长度*2就可以了
回复 支持 反对

使用道具 举报

6#
发表于 2015-5-29 11:20:09 | 只看该作者
android版本 有一个函数 是专门获取字节数
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2015-5-29 11:30:37 | 只看该作者
中英文混排,就是分不清呢。
中文字符2个字节,英文字符1个字节,都乘以2也不合适呢。
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2015-5-29 11:31:55 | 只看该作者
win32 api里有没有相关函数的?
回复 支持 反对

使用道具 举报

9#
发表于 2015-5-29 17:28:06 | 只看该作者
ledcer 发表于 2015-5-29 11:30
中英文混排,就是分不清呢。
中文字符2个字节,英文字符1个字节,都乘以2也不合适呢。 ...

TC 中所有字符串都是 Unicode 编码(何谓 Unicode 请百度),这种编码不论是中英文每个字符都是 2 字节,所以只需要 strlen 乘 2 即可。
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 2015-5-30 00:31:37 | 只看该作者
中文字符是英文字符的2倍宽度,ANSI编码刚好体现了这个特点。
我的应用场景,需要确切知道每个字符是中文还是英文字符,方便排版。
有没有UNICODE转ANSI的办法呢?
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

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

GMT+8, 2025-9-22 18:48 , Processed in 0.162393 second(s), 22 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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