博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
上传txt文件编码格式判断(文本乱码解决方法)
阅读量:4887 次
发布时间:2019-06-11

本文共 829 字,大约阅读时间需要 2 分钟。

说明

  通过ajax或者浏览上传文本文件,上传时候c#处理时候因为文本格式的创建不同,在获取内容时候会出现中文乱码。

解决方法

  通过上传的文件流,判断文件的编码格式,在使用对应的编码格式获取文本内容

  #region 通过给定的文件流,判断文件的编码类型

        /// <summary>
        /// 通过给定的文件流,判断文件的编码类型
        /// </summary>
        /// <param name=“fs“>文件流</param>
        /// <returns>文件的编码类型</returns>
        private string GetType(byte[] fs,out string errorMsg)
        {
            string reVal = "Default";
            errorMsg = "";
            if (IsUTF8Bytes(fs,out errorMsg) || (fs[0] == 0xEF && fs[1] == 0xBB && fs[2] == 0xBF))
            {
                reVal = "UTF8";
            }
            else if (fs[0] == 0xFE && fs[1] == 0xFF && fs[2] == 0x00)
            {
                reVal = "BigEndianUnicode";
            }
            else if (fs[0] == 0xFF && fs[1] == 0xFE && fs[2] == 0x41)
            {
                reVal = "Unicode";
            }
            return reVal;
        }
        #endregion

  //获取文本内容

  System.Text.Encoding.Default.GetString(fs)

测试结果

  Windows 平台下Default(默认格式),UTF8,BigEndianUnicode,Unicode大部分能识别到

转载于:https://www.cnblogs.com/hlc20131105/p/5692240.html

你可能感兴趣的文章
POJ 2632 Crashing Robots 模拟 难度:0
查看>>
10-0-顺序表存储结构-内部排序-第10章-《数据结构》课本源码-严蔚敏吴伟民版...
查看>>
快速排序,gcc亲测能用
查看>>
An Introduction to Maximum Entropy Model
查看>>
C++ vector 排序
查看>>
SQL Server快捷方式丢了怎么启动
查看>>
0-1背包简述
查看>>
(第4天)Mybatis的最常用的开发方式
查看>>
自动化mobile测试
查看>>
Java对文件压缩/加密/解密/解压缩的例子,DES/RSA
查看>>
Node.js 常用工具
查看>>
CCNA学习笔记三——STP生成树协议
查看>>
CCNA学习笔记四——Telnet CDP
查看>>
xcode升级至9.0之后,新建xib报错: Safe Area Layout Guide Before IOS 9.0
查看>>
C++文件操作
查看>>
在 Libgdx 中播放视频(一)
查看>>
Ceph的集群全部换IP
查看>>
Python:使用pymssql批量插入csv文件到数据库测试
查看>>
高速LVDS电平简介
查看>>
c/c++ -->自我编程风格总结
查看>>