当前位置: 首页 > news >正文

字符集及其编码、解码操作、IO流分类

字符集

1、ASCII字符集:一个字节(8位)存储一个字符(大小写字母,数字或特殊符号)
2、ASCII字符集中一个字节八位实际有效的只有后七位,第一位都是0
3、GBK字符集(汉字内码扩展规范,国标)包括了ASCII,两个字节存储一个汉字字符
4、GBK规定:汉字的第一个字节的第一位必须是1,与ASCII第一位必须是0区分开来,用于在一句话中区分ASCII(一个字节)和GBK(两个字节)
5、Unicode字符集(统一码,也叫万国码),UTF-32字符集每四个字节表示一个字符,虽然容纳的多,但是占空间多,通信效率变低


6、UTF-8字符集是Unicode字符集的一种编码方案,长度区分1个字节、2个字节、3个字节、4个字节。技术

要点回顾

字符编码和解码时使用的字符集必须一样,否则会出现乱码,

字符集的编码、解码操作

packagecom.itheima.demo3character;importjava.io.UnsupportedEncodingException;importjava.nio.charset.Charset;importjava.util.Arrays;publicclassCharSetDemo1{publicstaticvoidmain(String[]args)throwsUnsupportedEncodingException{//目标:写程序实现字符编码和解码//1、编码(成字节形式,再转化成十进制)Stringname="本尊!!!";byte[]bytes=name.getBytes("GBK");//指定GBK进行编码System.out.println(bytes.length);//7System.out.println(Arrays.toString(bytes));//[-79, -66, -41, -16, 33, 33, 33]//2、解码(成我能看懂的)//String name2 = new String(bytes);//编码与解码不一致,会乱码Stringname3=newString(bytes,"GBK");//指定GBK进行解码//System.out.println(name2);//����!!!System.out.println(name3);//本尊!!!}}

IO流

I指Input,称为输入流:富足把数据读到内存中去
O指Ouput,称为输出流:负责写数据出去

IO流的分类

IO流的体系:字节输入流、字节输出流、字符输入流、字符输出流

小结

IO流-文件字节输入流

1、字节输入流InputStream、字节输出流OutputStream、字符输入流Reader、字符输出流Writer都是抽象类
2、FileInputStream、FileOutputStream、FileReader、FileWriter是对应以上的实现类


3、文件字节输入流FileInputStream的作用是把磁盘文件中的数据以字节的形式读入到内存中去

packagecom.itheima.demo4fileinputstream;importjava.io.*;publicclassFileInputDemo1{publicstaticvoidmain(String[]args)throwsIOException{//目标:掌握文件字节输入流读取文件中的字节数组到内存中来//1、创建文件字节对象 输入流管道于源文件接通InputStreamis=newFileInputStream(newFile("day03-file-io\\src\\lll02"));//2、创建文件字节路径 输入流管道与源文件接通//InputStream is2 = new FileInputStream("day03-file-io\\src\\lll02");//两个是一样的,简化写法InputStreamis2=newFileInputStream("day03-file-io\\src\\lll03");//3、读取文件中的字节并输出//定义一个变量记住每次读取的一个字节intb;while((b=is.read())!=-1)//按顺序判断内容对应的ASCII字符是否等于-1{System.out.print((char)b);}//每次读取一个字节的问题,性能较差,读取汉字输出一定会乱码//4、读取文件中的字节数组并输出,每次读取多个字节//定义一个字节数组,每次读取多个字节byte[]bytes=newbyte[3];//定义一个变量记住每次读取多少个字节,读取多少倒多少intlen;while((len=is2.read(bytes))!=-1){System.out.println(newString(bytes,0,len));//abc//666//g}}}
http://www.jsqmd.com/news/263188/

相关文章:

  • 女装标号、男装量体:美国服装尺码差异背后的产业与消费逻辑
  • leetcode 885. Spiral Matrix III 螺旋矩阵 III
  • 2026年辽宁可靠的隐形车衣品牌哪个好,汽车车衣/车衣改色/隐形车衣/贴太阳膜/贴车衣/太阳膜,隐形车衣门店推荐榜单 - 品牌推荐师
  • 2026年市面上正规的氟塑料泵源头厂家联系方式,衬氟氟塑料泵/耐腐蚀磁力泵/化工离心泵,氟塑料泵供应商联系电话 - 品牌推荐师
  • 医疗影像用MONAI分割边界更精细
  • Day45 >> 115、不同的子序列 + 583. 两个字符串的删除操作 + 72. 编辑距离
  • Vim中复制内容到系统剪贴板
  • Spring Cloud 集成 Nacos,全面的配置中心与服务发现解决方案
  • spring boot中异常日志输出:log.error(“【文件上传】失败,{},{}“, endpoint, method, e);最后的e是异常对象,会输出堆栈信息
  • 深入解析:JMeter的基本使用与性能测试
  • 科研 / 工业采购必看:国产高端仪器品牌 + 上市公司实力盘点 - 品牌推荐大师1
  • 禁止win11自动更新,禁止windows更新的工具软件方法教程攻略
  • 从城市运管到灾害救援:2026年好用的应急调度系统场景推荐 - 速递信息
  • 基于多鱼眼的视觉SLAM系统(毕业论文)
  • Nginx http模块配置详解
  • Nginx http模块配置详解
  • Polar靶场web 随写笔记 - 指南
  • Nginx 虚拟主机 Server块配置详细解读
  • 变量的使用
  • ROS1 noetic 中将 Unitree G1 基于 Gazebo/RViz 关节联动【使用一个launch文件启动】
  • Java Web 核心全解析 - 实践
  • 写论文软件哪个好?实测揭秘!宏智树 AI 凭 “真研究” 实力出圈
  • 什么是 CMS 站群系统?以及它在百度 SEO 中的真实作用
  • 5 款 AI 写论文哪个好?实测宏智树 AI:毕业论文的全能型学术助手
  • 2026年周边优秀的汽车维修经销商怎么选择,客车轮胎/汽车保养/货车轮胎/轿车保养/汽车检测,汽车维修批发哪个好 - 品牌推荐师
  • CMS站群系统在实际项目中解决的,往往不是“建站问题”
  • 2026最新最全Java 面试题大全(整理版)2000+ 面试题附答案详解
  • 2026年市场有名的包衣机定做厂家怎么选择,高效湿法制粒机/离心造粒包衣机/微孔高效包衣机,包衣机供货商口碑推荐 - 品牌推荐师
  • 全网最全9个AI论文工具,专科生轻松搞定论文写作!
  • 租车新选择:2026年口碑爆棚的租车公司推荐,租赁/自驾租车/租车/会展包车/包车/企业租车/跨境包车,租车公司选哪家 - 品牌推荐师