• 文件编码问题


    一、为什么会有不同的编码

    在英文中,每个字符都有一个数字与之对应,比如:a->41,我们只会把41对应的二进制数值保存到计算机中。计算机的最小存储单元是字节,1btye=8bit .8位(11111111=255),所以只能存储255种情况。这在英文中够用。就是所谓的assii编码。

    但是汉字比较多,远不止255种情况,所以用两个字节存储。(65535种情况)。这是gb2312码表。但是后来发现,gb2312还是不能存储所有的中文字符,于是有发现了gbk。gbk包含gb2312,gb2312包含assii。

    我们知道,世界的国家很多,每个国家都有自己的语言,所以就有对应的编码。如果每个国家都整一台,就比较繁琐,所以出现了万国码(unicode),其中所有的字符都是占两个字节。但是我们知道,英文字符用一个字节是可以保存的,用两个就造成了浪费。所以又出现了utf-8(英文占一个字节,汉字占三个字节)。

    二、如何保证不出现乱码?

    保存的时候,选择的编码方式和读取的时候,显示的编码一致,或者兼容保存的时候的编码方式。

    注意:

    1.乱码只出现在文本文件中。

    2.操作系统,会根据当前选择的地区和语言,默认编码方式。

    3.FileStream默认utf-8编码。

  • 相关阅读:
    生产环境Crontab专业实例
    Linux系统定时任务介绍
    Linux文件属性改变命令chown-chgrp-chattr-lsattr实践
    Linux命令总结
    Linux特殊权限位suid、sgid深度详细及实践
    企业场景-网站目录安全权限深度讲解及umask知识
    shell简介
    Nginx模块及配置虚拟主机
    安装Nginx
    Nginx简介
  • 原文地址:https://www.cnblogs.com/wesley168/p/6628205.html
Copyright © 2020-2023  润新知