11问答网
所有问题
java中如何计算一个字符串的byte长度(一个汉字多少字符)
如题所述
举报该问题
推荐答案 推荐于2016-01-21
中文并不一定是占两个字节的,具体占多少字节是跟具体的编码方式相关的。比如说:GB2312、GBK、GB18030 编码是占用两个字节的,但是 UTF-8 编码的话至少需要占用三个字节。有一个简单方法,就是把大于 0xff 的字符都作为两个字符(当然是在 GBK 环境下)Java code publicstaticint count(String str) { if(str ==null|| str.length ==0) { return0; } int count =0; char[] chs = str.toCharArray(); for(int i =0; i < chs.length; i++) { count += (chs[i] >0xff) ?2 : 1; } return count; } 或者你直接使用 int len = str.getBytes("gbk");上面代码假设你的数据库编码格式是 GBK 的,而不是 UTF-8 的,如果是 UTF-8 的话,上面的代码无效!1字节等于8比特,一个字母是1字节,而一个汉字要用2个字节。一个汉字=2个字符
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/PF8422v8Pq4q4v848q7.html
其他回答
第1个回答 推荐于2016-07-12
java中可以直接使用string类型的getBytes()方法来获得一个字节数组,实例如下:
public static void main(String[]args)
{
String ss="hel无此数lo";//字符串
byte[] buff=ss.getBytes();//字符串转换成字节数组
int f=buff.length;//取得字节的个数
System.out.println(f);//打印字节个数
}
相似回答
遇到个问题,
java怎么
查询
一个字符串
占多大?
答:
k应该是kb的简写。
1kb = 1024b b就是byte
。字节。一个英文字母是一个字节。汉字好像是两个字节。一般 字符串有个length方法可以获取它的长度。int len = a.length();
大家正在搜
java字符串长度怎么算
java字符串转byte
java字节数组转成字符串
java字符串转char数组
java将数组转为字符串
byte数组怎么转换为字符串
字符串转byte数组
java中byte数组有什么用
java中byte数组
相关问题
java如何获取字符串的字节数
计算java字符串的字节的长度
java中如何统计一个字符串的长度
如何计算中文字符的长度java
java中的String的getBytes()方法可以获取3...
java中怎样判断一个字符是几个字节
java中的byte只有两个字节,才一万多个字符,为什么可以...
Java语言中一个字符占几个字节