java-io读写研究(一)

       写在前面的话:本文主要是研究io读写底层的相关原理,由于本人不是计算机专业的程序员,所以编写本文的目的更多的是想将表面的java API和计算机底层的相关知识联系起来。如果只是想快速使用java API,不建议阅读本文.

       我们以读取文件为例,开始我们的底层研究。我们现在随便打开的一个文件,其中包含的任意一段文字,其实都是字节序列。简单来说,比如我们的txt里面有“ABC”这样的一段文字,那么'A'、'B'、'C'就是三个字符,我们大部分人用的都是windows系统,所以记事本打开后的文字都是默认为ANSI编码。ANSI?什么意思呢?其实很简单,刚开始的电脑都是懂英文的人在用,那个时候默认用的是ASCII,其他的语言根本无法在电脑上显示(例子就是英文DOS系统)。

       到了后来,各个国家的牛人,慢慢的琢磨出了自己的编码标准,在中国,就是GBK编码,用两个字节来代表一个中文字符,这种以两个字节表示一个汉字字符的方式,称为ANSI,也就是各个国家自己有自己本地化的编码,不同国家有不同的ANSI具体编码.(其实ANSI翻译成中文就是各种外文字符延伸编码方式

       再往后,如果各个国家都是用自己的ANSI来编码,那么简单来说,我想在一个文件里面,同时输入中文和日本,就不行呀,因为他们编码不同,你设置成GBK,日本就乱码,设置成shift-JIS,中国汉字就乱码,所以就有了UNICODE(什么语言都支持)。java中的一个char,就是一个UNICODE编码。

       说了这么多其实都还没进入到计算机的底层,什么是计算机底层,就是你看到的‘中国人’三个字符,在计算机上到底是什么样子呢?说到这里,就说到了编码的关键.


       如图,也就是说不同的编码,在计算机底层的存储方式都是不同的,之所以出现这么多令人头疼的词,是因为人类语言的隔阂,我们作为程序员操作IO的时候,必须要了解这些东西,因为我们不管读取文件,写入文件,都是直接和编码打交道的。打一个最简单的比方,你和另一个哥们同时给一个心仪的女孩发送'我爱你'三个字,你用UFT-8编码就是9个字节,而他用ANSI就是6个字节,假如我们的网速是1 byte/min,那么人家的信息就能比你早3分钟到...最后的结果,你懂得,人家陪女朋友逛街去了,你就只能在优快云上看我的博客。


ps:小tips,为什么UFT-8后面有个8,意思就是后面的8代表是以8位二进制为单位来传输符号的,因为unicode编码规定所有符号的二进制形式,都必须用2个字节,也就是16位来表示,那样的话,我们输入同样简单的符号,比ANSI就要多一倍的存储空间,在这样的情况下,UTF-8才诞生了.


参考文档:

https://www.cnblogs.com/web21/p/6092414.html

http://www.regexlab.com/zh/encoding.htm


资源下载链接为: https://pan.quark.cn/s/d9ef5828b597 在本文中,我们将探讨如何通过 Vue.js 实现个带有动画效果的“回到顶部”功能。Vue.js 是款用于构建用户界面的流行 JavaScript 框架,其组件化和响应式设计让实现这种交互功能变得十分便捷。 首先,我们来分析 HTML 代码。在这个示例中,存在个 ID 为 back-to-top 的 div 元素,其中包含两个 span 标签,分别显示“回到”和“顶部”文字。该 div 元素绑定了 Vue.js 的 @click 事件处理器 backToTop,用于处理点击事件,同时还绑定了 v-show 指令来控制按钮的显示与隐藏。v-cloak 指令的作用是在 Vue 实例渲染完成之前隐藏该元素,避免出现闪烁现象。 CSS 部分(backTop.css)主要负责样式设计。它首先清除了些默认的边距和填充,对 html 和 body 进行了全屏布局,并设置了相对定位。.back-to-top 类则定义了“回到顶部”按钮的样式,包括其位置、圆角、阴影、填充以及悬停时背景颜色的变化。此外,与 v-cloak 相关的 CSS 确保在 Vue 实例加载过程中隐藏该元素。每个 .page 类代表个页面,每个页面的高度设置为 400px,用于模拟多页面的滚动效果。 接下来是 JavaScript 部分(backTop.js)。在这里,我们创建了个 Vue 实例。实例的 el 属性指定 Vue 将挂载到的 DOM 元素(#back-to-top)。data 对象中包含三个属性:backTopShow 用于控制按钮的显示状态;backTopAllow 用于防止用户快速连续点击;backSeconds 定义了回到顶部所需的时间;showPx 则规定了滚动多少像素后显示“回到顶部”按钮。 在 V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值