getBytes方法
字符串中的字符变成一位一位的01比特流
一个英文字符占8比特,也就是一个字节
一个中文字符占24比特,也就是3个字节(其实不同编码方式,占几个字节不一样,我们这里采取的UTF-8编码方式,具体可以看下图:)
而byte[ ] byte数组里面存的就是每个字节(8位)表示的数字
所以一个英文字符(8比特)只需要1个byte数组的元素就能存下来
而一个中文字符(24比特)需要3个byte数组的元素才能存下来
看下面这个例子:
public class test2
{public static void main(String[] args){String str="test a,中国,% @";//t:116 e:101 s:115 t:116 空格32 逗号:44 % 37 @ 64//汉字比较特殊一些:需要16比特来存储,也就是需要两个字节来存储//中:-28 -72 -83 国:-27 -101 -67 中文逗号:-17 -68 -116byte[] bytes=str.getBytes();for(int b:bytes){System.out.println(b);//得到:116 101 115 116 32 97 44 -28 -72 -83 -27 -101 -67 -17 -68 -116 37 32 64}}
}}
附上ASCII表
//输入一串字符(包括汉字,数字,空格,英文字母.....)分别统计出各类的个数
public class test
{public static void main(String[] args) throws IOException{String string=new String("");int hanzi=0;//统计汉字的个数int zimu=0;//统计字母的个数int kongge=0;//统计空格的个数int shuzi=0;//统计数字的个数int qita=0;System.out.println("请输入一行字符:");//下面两行代码的意思是:第一行:先将字符串放到缓冲区里面// 第二行:然后将缓冲区的字符串赋给string,这样string就等于我们刚才输入的字符串BufferedReader br=new BufferedReader(new InputStreamReader(System.in));string=br.readLine();byte[] bytes=string.getBytes();for(int i=0;i<bytes.length;i++){//System.out.println(bytes[i]);if((bytes[i]>=65&&bytes[i]<=90)||(bytes[i]>=97&&bytes[i]<=122)) zimu++;else if(bytes[i]==32) kongge++;else if(bytes[i]>=48&&bytes[i]<=57) shuzi++;else if(bytes[i]<0) hanzi++;else qita++;}System.out.println(zimu);System.out.println(hanzi/3);System.out.println(kongge);System.out.println(shuzi);System.out.println(qita);// 最终的输入输出如下:// java真是太棒了!! wotaixihuanle 123456// 17// 5// 4// 6// 2}
}
getBytes方法相关推荐
- java getbytes 长度_JAVA中的getBytes()方法
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不同情况下,返回的东西不一样! String.getBytes(String decode)方 ...
- getBytes()方法详解
这是一篇转帖: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/maxracer/archive/2010/12/14/6075057.aspx 在Java中,Stri ...
- Java字符串:getBytes() 方法
Java getBytes() 方法 getBytes() 方法有两种形式: getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到 ...
- String类中getBytes()方法的使用
String是我们常用到的字符串类,今天我学习的时候需要将字符串转换为一个一个字节储存起来,查看String类的API发现其中有一个getBytes()方法,那么这个具体是怎么使用的呢? 先上测试结果 ...
- JAVA中的getBytes()方法
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不同情况下,返回的东西不一样! String.getBytes(String decode)方 ...
- Java中getBytes()方法--使用详解
getBytes()方法详解 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这表示在不同的操作系统下,返回的东西不一样! 1. str.getByte ...
- JAVA的getBytes()方法
在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不同OS下,返回的东西不一样! String.getBytes(String decode)方 ...
- 关于Java里面的String.getBytes()方法
关于Java里面的String.getBytes()方法 Java里面的String类型的编码方式是Unicode,根据你项目字符串的编码方式无关,这是写死的.但是如果你jvm平台使用的是GBK编码方 ...
- getbytes方法_关于C#中识别和查找中英文字符串的解决方法和字符串处理方式的笔记...
今天更新公司内部插件的时候遇到一个问题,就是需要识别一个字符串是中文还是英文,如果字符串中不存在中文字符就要用另一种方法处理.因为以前在学校的时候就没学好C语言和C++的字符串处理,再加上字符串不怎么 ...
- Java getBytes字符集问题
今天工作中又一次遇到了java字符集问题,这次是由getBytes方法导致的. 以前的时候,曾经很多次的解决过java字符集以及乱码的问题,以为对这块很了解了,至到今天的又一次深入的学习,才发现以前的 ...
最新文章
- c语言指针要点,C语言指针的重点有哪些?
- 3年多亏33亿,又一AI独角兽再冲刺上市,39岁天才科学家即将坐拥首个IPO?
- wireshark安装
- Sharepoint 2007 定制Feature和卸载Feature
- java代码打包成jar以及转换为exe
- linux基础命令学习(五)目录或文件权限
- MHP GEM基础
- Py之matplotlib:matplotlib绘图自定义函数总结
- 自定义View 中很关键的问题View获取宽/高是0 的解决办法
- go 打印 %v %+v %#v 的区别
- 不要迷失在技术的海洋中【转】
- django web 自定义通用权限控制
- 小程序多个echars_小程序界面与逻辑
- win8超极本盘符误删找回数据的办法
- JAVA锁之公平锁和非公平锁
- [python] ZZ 随机数生成
- Opatch java 路径_Windows平台下opatch apply报错:OUI-67073
- 题解 CF1399D 【Binary String To Subsequences】
- LC-1186 连续子数组中可删除一个数的最大和
- java 基础学习——基本技巧(一)