导航:首页 > 编程语言 > java字符串长度中文

java字符串长度中文

发布时间:2021-03-05 07:39:06

java怎么判断判断某个字段中汉字的长度在2到20内

代码如下:
/**
* 在Java中按字节获得字符串长度的两种方法
*
*/

public class App
{
public static void main( String[] args ) throws UnsupportedEncodingException
{
String str = "只";

System.out.println(getWordCount(str));
System.out.println(getWordCountRegex(str));
System.out.println(getWordCountCode(str,"GBK"));
System.out.println(getWordCountCode(str,"UTF-8"));
}

/*由于是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。
* 但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。
* 为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,如果是汉字或其他全角字符,Ascii会大于255。
* 因此,可以编写如下的方法来获得以字节为单位的字符串长度。*/
public static int getWordCount(String s)
{
int length = 0;
for(int i = 0; i < s.length(); i++)
{
int ascii = Character.codePointAt(s, i);
if(ascii >= 0 && ascii <=255)
length++;
else
length += 2;

}
return length;

}

/*基本原理是将字符串中所有的非标准字符(双字节字符)替换成两个标准字符(**,或其他的也可以)。这样就可以直接例用length方法获得字符串的字节长度了*/
public static int getWordCountRegex(String s)
{

s = s.replaceAll("[^\\x00-\\xff]", "**");
int length = s.length();
return length;
}

/*按特定的编码格式获取长度*/
public static int getWordCountCode(String str, String code) throws UnsupportedEncodingException{
return str.getBytes(code).length;
}
}

⑵ 如何计算中文字符的长度java

通过自String自带的length()方法获取字符串长度。

String a="abcdefg";//定义一个字符串
int len = a.length();//通过length获取字符串长度,这里等于7
length()该方法返回此字符串的长度。长度是等于Unicode代码单元中的字符串的数目。

⑶ java字符串长度怎么算

通过String自带的length()方法获取字符串长度。

Stringa="abcdefg";//定义一个字符回串
intlen=a.length();//通过length获取字符串长度,这里等于7

length()该方答法返回此字符串的长度。长度是等于Unicode代码单元中的字符串的数目。

⑷ java中获取含中文的字符串长度

逐个char取,判断ascii值范围,ASCII算一个、如果是非ASCII范围认为是中文则算2个
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

⑸ JAVA字符串长度

in characters这个应该指的是单位,要求应该就是用length输出就好了,如果你只想要字回母的长度,你可答以用空“”替代所有的非字母再统计长度,myString.replace(“[^a-zA-Z]”,“")
关于正则表达式http://regexpal.com/可以在线尝试

⑹ java如何某个字符串长度大于10,并且能判断汉字的个数

public class StringLen {

/**
* @param args
*/
public static void main(String[] args) {
String str="我是中国ren";//你需要判断的版字符串权
String len="";
int j=0;
if(str.length()>10)
System.out.println("该字符串大于10");
char[] c=str.toCharArray();
for(int i=0;i<c.length;i++){
len=Integer.toBinaryString(c[i]);
if(len.length()>8)
j++;
}
System.out.println("共有中文字符:"+j);
}

}

⑺ Java中文字符所占的字节数是多少

采用或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。

⑻ java中如何计算一个字符串的byte长度(一个汉字多少字符)

中文并不一定来是占两源个字节的,具体占多少字节是跟具体的编码方式相关的。
比如说: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个字符

⑼ java中如何计算一个字符串的byte长度(一个汉字多少字符)

中文并不一定是占两个字节的,具体占多少字节是跟具体的回编码方式相关的。 比如说: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个字符

⑽ Java中文字符所占的字节数是多少

Java语言中,中文字符所占的字节数取决于字符的编码方式,一般情况下,采用ISO8859-1编码方式时,一个中文字符与一个英文字符一样只占1个字节;采用GB2312或GBK编码方式时,一个中文字符占2个字节;而采用UTF-8编码方式时,一个中文字符会占3个字节。我们可以通过String类的getBytes(String

charsetName)方法来获取到字符串以指定编码方式编码后所得到的字节数组,然后字节数组的长度就是该字符串在指定编码方式下所占的字节数。下面为一个测试示例:

public static void main(String []args) throws UnsupportedEncodingException {

// 运行结果:2

System.out.println("测试".getBytes("ISO8859-1")。length);

// 运行结果:4

System.out.println("测试".getBytes("GB2312")。length);

// 运行结果:4

System.out.println("测试".getBytes("GBK")。length);

// 运行结果:6

System.out.println("测试".getBytes("UTF-8")。length);

}
注意:String类的不带参数的getBytes()方法会以程序所运行平台的默认编码方式为准来进行转换,在不同平台下就会有不同的结果,因此建议使用指定编码方式的getBytes(String charsetName)方法。

阅读全文

与java字符串长度中文相关的资料

热点内容
地区手机接码app哪个靠谱 浏览:714
win10系统安装硬盘MBR 浏览:785
金融专业用什么编程 浏览:478
怎么强行删除u盘文件 浏览:943
win10桌面与文档公用了文件夹 浏览:826
移动网络限制怎么解除 浏览:33
安卓60sd卡损坏 浏览:758
身边哪些地方使用了网络 浏览:720
ps半调做点状效果教程 浏览:134
金昌软件找不到文件 浏览:139
怎么共享自己电脑文件 浏览:980
什么app是好省 浏览:874
miui8桌面文件夹退出 浏览:30
win10edge扩展 浏览:483
解多元方程怎么编程 浏览:731
刨客app有什么功效 浏览:753
如何恢复光盘里删除的文件 浏览:362
linuxhosts文件生效 浏览:387
怎样看数据线支持多少w 浏览:125
3g网络指哪些 浏览:33

友情链接