字符串中的字符变成一位一位的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方法相关推荐

  1. java getbytes 长度_JAVA中的getBytes()方法

    在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不同情况下,返回的东西不一样! String.getBytes(String decode)方 ...

  2. getBytes()方法详解

    这是一篇转帖: 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/maxracer/archive/2010/12/14/6075057.aspx 在Java中,Stri ...

  3. Java字符串:getBytes() 方法

    Java getBytes() 方法 getBytes() 方法有两种形式: getBytes(String charsetName): 使用指定的字符集将字符串编码为 byte 序列,并将结果存储到 ...

  4. String类中getBytes()方法的使用

    String是我们常用到的字符串类,今天我学习的时候需要将字符串转换为一个一个字节储存起来,查看String类的API发现其中有一个getBytes()方法,那么这个具体是怎么使用的呢? 先上测试结果 ...

  5. JAVA中的getBytes()方法

    在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不同情况下,返回的东西不一样! String.getBytes(String decode)方 ...

  6. Java中getBytes()方法--使用详解

    getBytes()方法详解 在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这表示在不同的操作系统下,返回的东西不一样! 1. str.getByte ...

  7. JAVA的getBytes()方法

    在Java中,String的getBytes()方法是得到一个操作系统默认的编码格式的字节数组.这个表示在不同OS下,返回的东西不一样! String.getBytes(String decode)方 ...

  8. 关于Java里面的String.getBytes()方法

    关于Java里面的String.getBytes()方法 Java里面的String类型的编码方式是Unicode,根据你项目字符串的编码方式无关,这是写死的.但是如果你jvm平台使用的是GBK编码方 ...

  9. getbytes方法_关于C#中识别和查找中英文字符串的解决方法和字符串处理方式的笔记...

    今天更新公司内部插件的时候遇到一个问题,就是需要识别一个字符串是中文还是英文,如果字符串中不存在中文字符就要用另一种方法处理.因为以前在学校的时候就没学好C语言和C++的字符串处理,再加上字符串不怎么 ...

  10. Java getBytes字符集问题

    今天工作中又一次遇到了java字符集问题,这次是由getBytes方法导致的. 以前的时候,曾经很多次的解决过java字符集以及乱码的问题,以为对这块很了解了,至到今天的又一次深入的学习,才发现以前的 ...

最新文章

  1. c语言指针要点,C语言指针的重点有哪些?
  2. 3年多亏33亿,又一AI独角兽再冲刺上市,39岁天才科学家即将坐拥首个IPO?
  3. wireshark安装
  4. Sharepoint 2007 定制Feature和卸载Feature
  5. java代码打包成jar以及转换为exe
  6. linux基础命令学习(五)目录或文件权限
  7. MHP GEM基础
  8. Py之matplotlib:matplotlib绘图自定义函数总结
  9. 自定义View 中很关键的问题View获取宽/高是0 的解决办法
  10. go 打印 %v %+v %#v 的区别
  11. 不要迷失在技术的海洋中【转】
  12. django web 自定义通用权限控制
  13. 小程序多个echars_小程序界面与逻辑
  14. win8超极本盘符误删找回数据的办法
  15. JAVA锁之公平锁和非公平锁
  16. [python] ZZ 随机数生成
  17. Opatch java 路径_Windows平台下opatch apply报错:OUI-67073
  18. 题解 CF1399D 【Binary String To Subsequences】
  19. LC-1186 连续子数组中可删除一个数的最大和
  20. java 基础学习——基本技巧(一)

热门文章

  1. 南京大学计算机学硕博士,2019年南京大学计算机软件研究所招收研究生说明
  2. VBAProject密码清除 for EXCEL2003
  3. java f5 f6_eclipse debug常见调试 F6 单步 F8完成 F5进入方法
  4. cp正在写入文件导致文件内容不一致
  5. 系统架构师(十七)系统可靠性分析与设计
  6. VBA批量编辑word图片尺寸
  7. Javaweb-标签介绍
  8. python中import与input_Python import与from import使用及区别介绍
  9. Office 2007 默认打开双页显示变单页显示
  10. NOI2014--起床困难症