关于编码

若是如今没有txt文件,让你设计最简单的txt实现,你会如何作呢? 编码

直接写硬盘? spa

显然这样很差。姑且不说这样会频繁地形成中断,并且若是咱们保存的时候也会是一个难题。是保存成ANSI仍是UTF8仍是Unicode呢?若是一开始直接写硬盘,默认的格式是ANSI,那到时咱们须要save as的时候,硬盘的调整操做量就大了。因此,第一,不要直接写硬盘,先保存在内存里面。即使到时你须要save as成别的格式,操做也是先在内存中操做,而后依次写硬盘。 设计

固然,上面的实现最简单的txt只是个引子,是为了引出咱们文章的主题:编码。 code

txt实现有一个中间态,这个状态是由实现者提供,总体数据模型相似以下: 内存

write: input

input  -->   中间态  -->  ANSI it

                           -->  UTF8 程序

                          ---> UNICODE 数据

read: 文件

存储数据 ->

程序须要制定编码方式,若不指定,则由程序经过存储数据中的一些标志位进行猜想,猜想后选择编码方式 ->

经过编码把存储数据进行解析,读入内存 ->

显示

相关文章
相关标签/搜索