zoukankan      html  css  js  c++  java
  • C# IO操作(三)文件编码

        在.net环境下新建一个文本文件(所谓文本文件就是直接可以用记事本打开的文件,直接保存字符串)和在系统中新建一个文本文件的编码是不一样的,.net默认采用UTF-8,而中文操作系统采用的是ANSI。如果在.net环境下直接读取由系统新建的文本文件,由于编码不一致,读取时就乱码了,下面来说一下,乱码的解决方法:

    1            //手动创建一个编码对象
    2             Encoding cod = Encoding.GetEncoding("gb2312");  //此时获取到的就是gb2312编码。
    3             Encoding codGBK = Encoding.GetEncoding("GBK");  //此时获取到的就是GBK编码。

    解决中文读取乱码的问题,就是保证写入时使用什么编码,读取该文件使用相同的编码即可。

    下面看一下,系统中所有的编码:

    1             //将所有编码写入文本文件
    2             string fileName = "encodings.txt";
    3             EncodingInfo[] eInfo = Encoding.GetEncodings();
    4             foreach (var item in eInfo)
    5             {
    6                 File.AppendAllText(fileName, string.Format("{0}--{1}--{2}
    ", item.CodePage, item.Name, item.DisplayName));
    7             }
    8             Console.WriteLine("OK");

     GB2312编码:兼容ASCII码表,英文字符用1个字节表示(字节用正数来表示),中文用2个字节表示(字节用负数来表示)。
     GBK编码:兼容GB2312编码。中文用2个字节表示(第1个字节用负数,第2个字节用紧跟其后的正数)。
     Unicode:国际码表,中英文都占2个字节。
     UTF-8:国际码表,英文占1个字节,中文占3个字节。

  • 相关阅读:
    参数化2--CSV Data Set Config 参数化配置
    简单的数据库性能测试方法
    localStorage.getItem
    性能测试入门分析
    参数化1--jmeter参数化数据(_csvread函数、用户自定义变量等)
    Jmeter聚合报告分析
    JMeter入门(4):Java Request实例
    JMeter入门(3):录制JMeter脚本
    JMeter入门(2):一个简单实例
    JMeter入门(1):JMeter总体介绍及组件介绍
  • 原文地址:https://www.cnblogs.com/chens2865/p/3873582.html
Copyright © 2011-2022 走看看