admin管理员组

文章数量:1613772

四种文本编码格式

  • ANSI
  • Unicode
  • Unicode big endian
  • UTF-8

如何改变windows上文本的编码格式

编码方式和文字格式需要区分开来,不同的文件格式只是字体的图案显示不一样,它的编码方式还是一样的,所以如果将宋体改为黑体,其实只是调用的图案库不一样,实际的编码方式没有改变。
编码方式固定在计算机里面存储就是固定的。
在VScode中,当使用通过编码方式重新打开时,其实没有改变原来编码方式,只是以不同的编码方式读取,那么原来的代码可能出现乱码情况。
而使用通过编码保存时,改变了原来的编码方式。

将txt文件另存为时,在该界面可以选择其它格式来存储。

不同编码格式在不同平台的特点

Windows平台上,文本格式为UTF_8,用\r\n作为换行符,即占两字节。(下图中,字母A占一个字节,换行符占两个字节)

同样方式得到1个中文用3个字节来表示


验证了ANSI和UTF_8的格式在这三点上是一样的,这两种格式是比较常用的,其它的可以自己验证。

在Linux-Ubuntu系统中验证,1个字母占1个字节,1个换行符占1个字节,即\n;

这里Linux系统默认加入的换行符只有\n,这是和Windows系统不同的地方

1个中文占3个字节


并不是所有的编码格式都照着这个规则的,这需要自己验证一下。比如Windows系统中,编码格式为带有BOM的UTF_8格式时,一个中文用6个字节表示。


该笔记只是我在做C阶段小项目刚接触文件操作了解到的,作为我的学习笔记记录下来;不喜勿喷,若有不对的地方欢迎留言。


如果想了解更多的编码格式方面的知识,可以去看一下这篇博客(恰巧找到的图书😁)
>> 各种编码格式的比较


其它笔记:
>> printf源码解读
>> 数据在内存中的存储
>> Markdown学习笔记

本文标签: 文本方式windowLinux