• 文件编码问题


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

    在英文中,每个字符都有一个数字与之对应,比如: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编码。

  • 相关阅读:
    Java垃圾回收机制
    Mybatis 通用 Mapper 和 Spring 集成
    MyBatis:SQL语句中的foreach的详细介绍
    PageHelper补充
    Mybatis分页插件PageHelper
    定时任务
    权限框架Apache Shiro 和 Spring Security
    Navicat操作数据库时一直显示加载中
    BigDecimal使用中的一些注意事项
    WPF应用程序嵌入第三方exe
  • 原文地址:https://www.cnblogs.com/wesley168/p/6628205.html
Copyright © 2020-2023  润新知