社区
非技术区
帖子详情
有关英文字符和中文字符长度的比较
hlhtyql
2002-02-22 03:43:55
最典型的例子是用户注册,假如系统设定长度为20个字符(节)。通常我们判断字符串的长度是通过 .length() 方法来截取字符串的长度的,可是如果用户输入20个中文时,长度没有发生任何变化,可是它却占用了40个字节,也就是说根本无法插入到数据库中去。
请问各位大虾,通过什么方法可以判断英文字符的长度和中文字符的长度呢?这个实例在很多地方都能用到,希望作过类似判断的朋友不要保留。
...全文
91
4
打赏
收藏
有关英文字符和中文字符长度的比较
最典型的例子是用户注册,假如系统设定长度为20个字符(节)。通常我们判断字符串的长度是通过 .length() 方法来截取字符串的长度的,可是如果用户输入20个中文时,长度没有发生任何变化,可是它却占用了40个字节,也就是说根本无法插入到数据库中去。 请问各位大虾,通过什么方法可以判断英文字符的长度和中文字符的长度呢?这个实例在很多地方都能用到,希望作过类似判断的朋友不要保留。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
chenwulin
2002-10-10
打赏
举报
回复
各位,测试一下它的值是多少,你就会知道你们的错误所在噢!
"荔".getBytes().length
hlhtyql
2002-02-22
打赏
举报
回复
to: gdsean(摇滚java)
你的意思是说,把用户输入的字符串先转换成字节,再进行比较,是这样吗?能行的通吗?
ahbill
2002-02-22
打赏
举报
回复
对啊,转换成字节后再来作长度的判断
BugHunterPro
2002-02-22
打赏
举报
回复
byte bytestr[] = str.getBytes();
if(bytestr.length>20){
...
}
获取
中文
字符
串
长度
的函数(VB6.0代码编写)
获取
中文
字符
串
长度
的函数(VB6.0代码编写) 获取
中文
字符
串
长度
的函数,输入汉字,计算机将会计算汉字
长度
QQ223857666勾月
计算中
英文
字符
长度
工程虽然小,但是能示例一段
字符
有多少
中文
多少
英文
。
c#截取指定
长度
,中
英文
混合
字符
串
c#截取指定
长度
中
英文
混合
字符
串 一个
中文
为两个
字符
计算,
英文
一个
字符
。
字符
串(汉字)
长度
判断
针对Oracle数据库中汉字在不通的
字符
集下所占
字符
长度
不通,在保存时可能需要对源
字符
串的
长度
进行判断。 实现过程如下 /** * 针对汉字 进行计算
长度
* @param string 计算的
字符
串 * @param shuJuKuHanZhiChangDu 汉字所占
字符
大小 * @return int
字符
串
长度
*/ public static int stringOfSize(String string,int shuJuKuHanZhiChangDu) { int sum = 0; shuJuKuHanZhiChangDu--; if(string==null || string.length()==0){ return sum; } for (char charAt : string.toCharArray()){ sum++; if(isChinese(charAt)){ sum = sum+shuJuKuHanZhiChangDu; } } return sum; } /** * 根据Unicode编码完美的判断
中文
汉字和符号 * @param c 要判断的
字符
* @return boolean */ private static boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION; }
截取指定
长度
的
字符
串
自己输入一个
字符
串,
字符
串中可以包括
字符
和汉字,截取指定的
字符
串
非技术区
23,407
社区成员
70,514
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章