初学驾到编程字符编程与乱码看完及会

本文深入探讨了字符编码与乱码问题,从文本存储、字符集、字库到乱码产生的原因,揭示了计算机如何将字符转换为二进制并在屏幕上显示。同时,文章提出了思考题,引导读者理解Java中String的内存存储和编码方式。
摘要由CSDN通过智能技术生成

编程入门之字符编码与乱码

  ——“为什么服务器收到的请求或者打开的文本文件有时会乱码?”

  ——“因为编码不对。”

  ——“编码的本质是什么?为什么编码不对就会乱码?一段文本是如何在网络中传输后最终显示给用户的?Java String默认使用什么编码?”

  ——“……”

  乱码问题相信很多同学都有幸遇到过的,也解决过,但根据个人面试的经验,对该问题知其然亦知其所以然的同学,是少之又少的。故在这里做一下分享,以备在其他的面试中被问到:-)。

  因为计算机已经发明很久了,“不要重复发明轮子”也是一句大家耳熟能详的古训,我们已经习惯了编写Print("A"),就会在屏幕上显示一个字符A的便利,认为这一切自然而然。而过程中需要哪些支持,发生了什么,思考的人已经越来越少了。下面我们推理下在轮子还不那么齐全的年代,如何实现一个显示字符的“记事本”程序。

  一、文本的存储

  .txt文件非常常见,当我们在windows桌面右键新建一个“文本文档”,在其中输入A之后保存,就在桌面形成了一个保存着A的文本文档A。然后我们双击它打开,就会看到这个保存的A。

  而学校里的课程告诉我们,计算机中存储的都是0和1这种2进制数据,无法存储“A”,那磁盘存储的究竟是什么?我们换另外一类工具来打开这个文本文档,这类工具叫做16

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值