java面向对象之IO篇(1)IO-字符编码

扶醉桌前 提交于 2020-02-26 09:00:08

​​​​​IO-字符编码

今天我们将进入新篇章<java面向对象之IO篇>,希望能让你有所收获,抓紧继续学习吧!!!

一.计算机中如何保存数据

保存的都是二进制数据0101,称为:字节  (人看不懂,计算机能看懂)

查看的文本、标点,称为:字符 (人能看懂,但计算机看不懂)

 

  • 当向计算机存储字符时,会将 字符 变成 字节 保存。这个过程称为编码

 

  • 当我们需要展示字符时:会将 字节 变成 字符 展示 。 这个过程称为解码

 

  • 字符和字节之间的转换不是毫无规律的,是有专门的字典来一一对应。这样的字典我们成为码表

UTF-8:汉字3 个字节

 

二. Java中字符如何编码和解码

Java中,编码解码全自动的。

举例使用:

 

三. String类的编码和解码

String编码

方法名

方法描述

getBytes(String encoding)

将字符串以指定码表,编码为字节数组。

即字符变字节(数字)

参数:码表名”utf-8””gbk”

返回:byte[]

 

举例使用:

 

 

String解码

方法名

方法描述

String(byte[],String encoding)

将字节数组以指定码表,解码为字符串

即字节(数字)变字符

参数:1、字节数组

2、码表名”utf-8””gbk”

返回:String

 

举例使用:

 

 

四.​​​​​​​ 乱码问题

编码和解码必须使用同一个码表

 

 

小结:

  • 编码:字符=====》字节  byte[] arr = str.getBytes(“utf-8”);
  • 解码:字节=====》字符  String x1=new String(arr,”utf-8”);
  • 编码、解码 码表必须保持一致

 

 

请给努力中的自己点个赞哦!

每天进步一点点`~~~~~

​​​​​​​

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!