社区
非技术区
帖子详情
有关英文字符和中文字符长度的比较
hlhtyql
2002-02-22 03:43:55
最典型的例子是用户注册,假如系统设定长度为20个字符(节)。通常我们判断字符串的长度是通过 .length() 方法来截取字符串的长度的,可是如果用户输入20个中文时,长度没有发生任何变化,可是它却占用了40个字节,也就是说根本无法插入到数据库中去。
请问各位大虾,通过什么方法可以判断英文字符的长度和中文字符的长度呢?这个实例在很多地方都能用到,希望作过类似判断的朋友不要保留。
...全文
98
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){
...
}
计算中
英文
字符
长度
工程虽然小,但是能示例一段
字符
有多少
中文
多少
英文
。
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; }
截取指定
长度
的
字符
串
自己输入一个
字符
串,
字符
串中可以包括
字符
和汉字,截取指定的
字符
串
PB判断
字符
串是否有
中文
PB判断
字符
串是否有
中文
非技术区
23,407
社区成员
70,513
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章