news 2026/6/10 12:26:45

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
字符集及其编码、解码操作、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}}}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:59:42

基于YOLOv8的恶性疟原虫智能检测系统工程实践 [目标检测完整源码]

文章目录基于YOLOv8的恶性疟原虫智能检测系统工程实践 [目标检测完整源码]一、应用背景与问题定义源码下载与效果演示二、整体技术方案设计三、数据集构建与训练策略四、模型推理与系统部署五、工程实现亮点六、应用前景与拓展方向七、结语基于YOLOv8的恶性疟原虫智能检测系统工…

作者头像 李华
网站建设 2026/6/10 9:02:44

写论文软件哪个好?实测揭秘!宏智树 AI 凭 “真研究” 实力出圈

毕业季的论文焦虑,几乎是每一位学子的必经之路:选题太泛被导师打回、文献堆砌逻辑混乱、数据分析无从下手、查重率居高不下、AI 生成痕迹被系统标红…… 面对五花八门的论文写作工具,“写论文软件哪个好” 成了无数学子的灵魂拷问。 作为深耕…

作者头像 李华
网站建设 2026/6/10 9:10:00

持续同调与深度学习3D点云分类方法【附代码】

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅ 成品或定制,查看文章底部微信二维码(1)多类型持续同调特征融合模型的构建与验证三维点云作为…

作者头像 李华
网站建设 2026/6/10 10:37:17

基于多特征融合的深度学习高速铁路预售期购票量预测

✨ 本团队擅长数据搜集与处理、建模仿真、程序设计、仿真代码、论文写作与指导,毕业论文、期刊论文经验交流。✅ 专业定制毕设、代码✅ 成品或定制,查看文章底部微信二维码(1)高铁客流数据的时空特征解析与工程化处理 高铁旅客购票…

作者头像 李华
网站建设 2026/6/10 3:49:24

学霸同款9个AI论文软件,自考论文轻松搞定!

学霸同款9个AI论文软件,自考论文轻松搞定! 自考论文的“隐形助手”:AI 工具如何让写作更轻松 对于自考学生来说,撰写论文不仅是学术能力的体现,更是通过考试的关键一步。然而,面对繁重的写作任务和严格的格…

作者头像 李华
网站建设 2026/6/10 10:44:05

python中国汽车驾驶体验评价与推荐平台 爬虫可视化

目录中国汽车驾驶体验评价与推荐平台爬虫与可视化摘要开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!中国汽车驾驶体验评价与推荐平台爬虫与可视化摘要 平台通过Python爬虫技术抓取主流汽车…

作者头像 李华