导航:首页 > 编程语言 > java汉字的长度

java汉字的长度

发布时间:2022-07-29 17:47:50

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"));
}

/*由于Java是基于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中“Abc汉字”的长度是

字符串长度是:5
在JVM中占的字节数是10,因为java中字符都是用unicode编码的,每一个字符占两个字节

⑶ Java 中,数字,汉字,英文字母,...占多少字节

数字,英文字母,标点符号各占1个字节
汉字,标点符号各站2个字节

⑷ java中定义一汉字的变量并输出长度

charlength等于0,system.out.println(length)。
java有八种数据类型,用来添加汉字的数据类型属于字符型,用char表示,然后根据赋值使用打印语句输出汉字的长度。
char是Java中的保留字,与别的语言不同的是,char在Java中是16位的,因为Java用的是Unicode,不过8位的ASCII码包含在Unicode中,是从0~127。

⑸ java 按字节获取字符串长度

由于Java是基于Unicode编码的,因此,一个汉字的长度为1,而不是2。但有时需要以字节单位获得字符串的长度。例如,“123abc长城”按字节长度计算是10,而按Unicode计算长度是8。为了获得10,需要从头扫描根据字符的Ascii来获得具体的长度。如果是标准的字符,Ascii的范围是0至255,
如果是汉字或其他全角字符,Ascii会大于255。

⑹ java中一个汉字 字节

你这个问题涉及到汉字的生成原理,汉字是由区码和位码组成的,在组成一个汉字之后,把这两个字节认为是一个字符,而在计算长度的时候又是看有几个字符,所以“国人”的length=2了。
您的进步是我最大的动力,如果你觉得我回答的合理的话,请给我多加分。谢谢,如果不明白的话,请给我留言。大家相互学习啊! 加油!

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

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

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

⑻ java一个汉字占几个字节

可能是2个、3个、4个字节。不同的编码格式占字节数是不同的,UTF-8编码下一个中文所占字节也是不确定的。

⑼ java中一个字符是几个字节字符和字节是同等的吗

Java规定了字符的内码要用UTF-16编码,一个字符是2个字节。外码字符所占字节取决于具体编码。字符和字节是不一样的。

外码编码不同,字符和字节的换算不同,几种常见的编码换算如下:

ASCII编码是单字节编码,只有英文字符,不能编码汉字。

GBK编码1个英文字符是1个字节,一个汉字是是2个字节。

UTF-8编码1个英文字符是1个字节,一个汉字是3个字节。

Unicode编码1个英文字符是2个字节,一个汉字是2个字节。

(9)java汉字的长度扩展阅读

汉字编码的困难点 汉字进入计算机,有许多困难,其原因主要有三点:

①数量庞大:一般认为,汉字总数已超过6万个(包括简化字)。虽有研究者主张规定3000多或4000字作为当代通用汉字,但仍比处理由二三十个字母组成的拼音文字要困难得多。

②字形复杂:有古体今体,繁体简体,正体异体;而且笔画相差悬殊,少的一笔,多的达36笔,简化后平均为9.8笔。

③存在大量一音多字和一字多音的现象:汉语音节416个,分声调后为1295个(根据《现代汉语词典》统计,轻声39个未计)。以1万个汉字计算,每个不带调的音节平均超过24个汉字,每个带调音节平均超过7.7个汉字。有的同音同调字多达66个。一字多音现象也很普遍。

阅读全文

与java汉字的长度相关的资料

热点内容
win10原始解压软件 浏览:319
阿里程序员的老家 浏览:258
量子加密银行 浏览:193
命令方块获得指令手机 浏览:499
学习结束感言简短程序员 浏览:398
android关机闹钟实现 浏览:968
鼠标一键打开文件夹设置 浏览:161
程序员看过来我想静静搞笑视频 浏览:370
curlphp爬虫 浏览:874
python按日期循环 浏览:110
php三个等号 浏览:760
培训班出来的程序员解决问题很差 浏览:963
程序员那么可爱25集 浏览:753
服务器地址和ip地址一样不 浏览:664
php中括号定义数组 浏览:602
php打印堆栈 浏览:516
华为adb命令行刷机 浏览:965
人像摄影pdf 浏览:761
解压文件密码怎样重新设置手机 浏览:1002
高考指南pdf 浏览:696