88问答网
所有问题
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://88.wendadaohang.com/zd/gMtcVV1tgacac1tctaK.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中字符
与
字节
和位的关系?
一个
英文字母或数字占几个字节中文占
多少
...
答:
1kB=1024
字节
用
java
编程统计用户从键盘输入
的字符串
中所包含的字母,数字和其他字 ...
答:
import
java
.util.Scanner;public class Test { public static void main
(String
[] args){ Scanner input = new Scanner(System.in); System.out.print("输入
字符串
:"); String strs = input.next(); int number = 0; int chara = 0; int other = 0; char [] chs = st...
java一个汉字
占3个
byte
么???
答:
String
name = ‘汉字';System.out.println(name.getBytes('gbk').length); 结果是4 System.out.println(name.getBytes().length); 结果是6 实际上在gbk编码中每个汉字是2个
字节
。UTF-8编码是变长的,1—6个字节。其中汉字编码,是3个或4个字节 你的问题可能是因为系统编码不一样。引起的 ps:...
字节
数,
字符串长度
,字符个数
的
区别?
答:
字节数,字符串长度,字符个数区别如下,以编程语言
java
为例:1、字节数是变量在内存中占有的空间大小,如int类型占4字节,long类型占8字节等等,并且
1字节(byte)
=8比特(bit)。2、字符串长度是你写的内容
的长度
,如定义
String
str = “hello”,那么str
的字符串长度
为5。3、字符个数就是字符串...
java中一个汉字
字节
答:
汉字是由区码和位码组成的,在组成
一个汉字
之后,把这两个
字节
认为是
一个字符
,而在
计算长度的
时候又是看有几个字符,所以“国人”的length=2了。您的进步是我最大的动力,如果你觉得我回答的合理的话,请给我多加分。谢谢,如果不明白的话,请给我留言。大家相互学习啊! 加油!
java中一个字符
是几个
字节
?字符和字节是同等的吗?
答:
Java
规定了
字符的
内码要用UTF-16编码,
一个字符
是2个字节。外码字符所占字节取决于具体编码。字符和字节是不一样的。外码编码不同,字符和
字节的
换算不同,几种常见的编码换算如下:ASCII编码是单字节编码,只有英文字符,不能编码汉字。GBK编码1个英文字符是1个字节,
一个汉字
是是2个字节。UTF-8...
java中
,
如何
得到
一个字符串
占内存大小
答:
java中
可以用.getBytes().length获取
字符串
占用内容的大小,原理是java中任何字符都采用Unicode编码,所以衡量占用内存大小采用占用
的字节
数。举例如下:public class TestStringSize { public static final void main
(String
[] args) { System.out.println("占用内存大小:"+"学java".getBytes().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语言中一个字符占几个字节