导航:首页 > 编程语言 > 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字符串长度中文相关的资料

热点内容
微信己册除的文件怎样找回来 浏览:715
苹果美国账号共享2017 浏览:252
ps文件修改后打开还是原图 浏览:220
烧卡机苹果4微信qq哪里下载 浏览:780
ug120找不到指定文件 浏览:522
cda文件怎么转换成mp3格式 浏览:702
青岛hpv疫苗在哪个app预约 浏览:881
双十一成交额2021数据在哪里看 浏览:631
苹果手机怎么打开移动数据 浏览:637
文件扫描成图片是彩色的吗 浏览:50
编程里的comply什么意思 浏览:91
电脑上面点了禁用网络怎么改回来 浏览:28
javacatch执行 浏览:182
ps软件文件名字 浏览:184
黑苹果查找文件路径 浏览:397
现在编程都有哪些语言 浏览:360
不用钱编辑pdf文件 浏览:973
c截图源代码 浏览:328
隐藏密码忘记怎么办 浏览:102
win10搜索文件名不要内容 浏览:749

友情链接