java中字符串占几个字节【JAVA教程】,java,字符串,字节
作者:搜教程发布时间:2019-11-27分类:JAVA教程浏览:21评论:0
导读:起首,char为Java的基础范例,基础范例所占的字节数是牢固的,如int占4字节,double占8字节,这能够使得Java在差别的平台上所占范例牢固,很好地保证了Java的可...
起首,char为Java的基础范例,基础范例所占的字节数是牢固的,如int占4字节,double占8字节,这能够使得Java在差别的平台上所占范例牢固,很好地保证了Java的可移植性。因而,Java中char范例牢固占2个字节。(注:char范例也能够存储一个汉字)。
其次,String采纳一种更天真的体式格局举行存储。在String中,一个英文字符占1个字节,而中文字符依据编码的差别所占字节数也差别。在UTF-8编码下,一个中文字符占3个字节;而运用GBK编码时一个中文字符占2个字节。
测试代码以下:
import java.io.UnsupportedEncodingException; public class StrTest { public static void main(String[] args) throws UnsupportedEncodingException { String str1 = "hello"; String str2 = "你好abc"; System.out.println("utf-8编码下'hello'所占的字节数:" + str1.getBytes("utf-8").length); System.out.println("gbk编码下'hello'所占的字节数:" + str1.getBytes("gbk").length); System.out.println("utf-8编码下'你好abc'所占的字节数:" + str2.getBytes("utf-8").length); System.out.println("gbk编码下你好'你好abc'所占的字节数:" + str2.getBytes("gbk").length); } }
输出效果:
utf-8编码下’hello’所占的字节数: 5 gbk编码下’hello’所占的字节数: 5 utf-8编码下’你好abc’所占的字节数: 9 gbk编码下你好’你好abc’所占的字节数: 7
因而可知,对也String来讲,一个英文字符牢固占1个字节,而中文字符占2个(GBK编码)或3个(UTF-8编码)字节。也可运用此要领检察别的编码的状况,此处不再逐一赘述。
末了,基于String的这类特征,能够推断一个字符串中是不是包括中文,举例以下:
public class StrTest { public static void main(String[] args) throws UnsupportedEncodingException { searchChineseCharacter("Good morning"); searchChineseCharacter("hello 早上好"); } //找出一个字符串中的汉字 public static void searchChineseCharacter(String str){ //正则表达式,用于婚配中文字符 String regex = "[\u4e00-\u9fa5]"; //假如str的长度和其所占字节数不等,申明包括中文 if (str.length() != str.getBytes().length){ Pattern pattern = Pattern.compile(regex); Matcher matcher = pattern.matcher(str); System.out.print("'" + str + "' 中的汉字为:"); while (matcher.find()){ System.out.print(matcher.group()); } } else { System.out.println("'" + str + "' 中无汉字"); } } }
输出效果:
‘Good morning’ 中无汉字 ‘hello 早上好’ 中的汉字为:早上好
引荐教程:java入门教程
以上就是java中字符串占几个字节的细致内容,更多请关注ki4网别的相干文章!
相关推荐
- java经典面试题集锦(五)_JAVA教程,java,面试题
- Java如何获取字符在字符串中的位置_JAVA教程,Java,字符,字符串
- java中的换行符是什么_JAVA教程,java,换行符
- Java中变量必须先定义后使用么_JAVA教程,java,变量
- java中怎么定义接口_JAVA教程,java,接口
- java中静态代码块有什么特点_JAVA教程,java,静态代码块
- java中return语句有什么作用_JAVA教程,java,return
- Java对文件的读写操作(图文详解)_JAVA教程,java
- java经典面试题集锦(四)_JAVA教程,java,面试题
- 八种基本数据类型分别是什么?_JAVA教程,java,基本数据类型
你 发表评论:
欢迎- JAVA教程排行
-
- 1接口中只能定义常量和抽象方法,对么_JAVA教程,接口,常量,抽象方法
- 2java文件不能删除文件怎么办_JAVA教程,java
- 3系统提示javac:找不到文件_JAVA教程,系统,提示,javac,找不到,文件
- 4java中sleep的用法是什么?_JAVA教程,java,sleep
- 5java图片显示不出来怎么办_JAVA教程,java
- 6java后台乱码怎么办_JAVA教程,java
- 7javascript和java的区别是什么_JAVA教程,javascript,java
- 8java eclipse无法运行怎么办_JAVA教程,java
- 9Java中split()方法怎么用_JAVA教程,java,spilt,用法
- 最新文章
- 广而告之