当前位置: 首页 > wzjs >正文

珠海市做网站公司网站建设书籍免费

珠海市做网站公司,网站建设书籍免费,怎么做福彩网站,中国建设银行投诉网站总入口:源码:处理文件格式和字符集的相关代码(3-1)-CSDN博客 目录 六、预览(正确显示文本文件) 6.1 总体逻辑 6.2 二进制显示 6.3 文本显示 六、预览(正确显示文本文件) 6.1 总…

总入口:源码:处理文件格式和字符集的相关代码(3-1)-CSDN博客

目录

六、预览(正确显示文本文件)

6.1 总体逻辑

6.2 二进制显示

6.3 文本显示


六、预览(正确显示文本文件)

6.1 总体逻辑

        首先区分了二进制显示和文本显示,这是两种完全不同的方法。

        文本显示默认根据检测到的编码来显示,如果指定了编码,则跳过BOM,否则系统会根据BOM来显示(这样指定的编码就没有意义了)。

		public static string makeFileContent(string file, bool bHex, Encoding encoding, ref string state, ref Encoding realEncoding){if (bHex){。。。。。。二进制显示}else{。。。。。。文本显示}}

6.2 二进制显示

        二进制显示根据检测到的格式来处理回车换行。每个回车和换行都导致换行显示(当然,这是我懒了)。

				state = "HEX";FileResult fileResult = ProcessFile(file, true);FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read);byte[] data = new byte[filestream.Length];filestream.Read(data, 0, (int)filestream.Length);filestream.Close();StringBuilder sb = new StringBuilder();bool linehead = true;int charWidth = 1;int pos = 0;if (fileResult.isUTF16){charWidth = 2;pos = (fileResult.isBigEndian ? charWidth - 1 : 0);}if (fileResult.isUTF32){charWidth = 4;pos = (fileResult.isBigEndian ? charWidth - 1 : 0);}for (int i = 0; i < data.Length; i += charWidth){int sum = 0;for (int j = 0; j < charWidth; ++j){string str = Convert.ToString(data[i + j], 16);if (!linehead) sb.Append(" ");if (str.Length == 1) sb.Append("0");sb.Append(str);linehead = false;sum += data[i + j];}if (sum == '\r' && data[i + pos] == '\r'){sb.Append(Environment.NewLine);linehead = true;}if (sum == '\n' && data[i + pos] == '\n'){sb.Append(Environment.NewLine);linehead = true;}}return sb.ToString();

6.3 文本显示

        文本显示利用的是系统的处理文本的功能。

				FileResult fileResult = ProcessFile(file, true);FileStream fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);Encoding tryencoding;if (null == encoding){if (fileResult.isUTF8) tryencoding = Encoding.UTF8;else if (fileResult.isUTF16) tryencoding = Encoding.Unicode;else if (fileResult.isUTF32) tryencoding = Encoding.UTF32;else tryencoding = Encoding.Default;if (fileResult.isBigEndian){if (fileResult.isUTF16) tryencoding = Encoding.GetEncoding(1201);if (fileResult.isUTF32) tryencoding = Encoding.GetEncoding(12001);}}else{//指定编码时跳过BOM,以免自动根据BOM改变编码tryencoding = encoding;int BOMsize = 0;if (fileResult.withBOM){if (fileResult.isUTF8) BOMsize = 3;if (fileResult.isUTF16) BOMsize = 2;if (fileResult.isUTF32) BOMsize = 4;}for (int i = 0; i < BOMsize; ++i){fileStream.ReadByte();}}StreamReader streamReader = new StreamReader(fileStream, tryencoding);StringBuilder sb = new StringBuilder();string content;while ((content = streamReader.ReadLine()) != null){sb.AppendLine(content);}realEncoding = streamReader.CurrentEncoding;state = streamReader.CurrentEncoding.EncodingName;if (fileResult.BOM.Length > 0) state += " BOM: " + fileResult.BOM;else state += " BOM: NONE";streamReader.Close();fileStream.Close();return sb.ToString();}

(这里是文档结束)

http://www.dtcms.com/wzjs/834718.html

相关文章:

  • 手机网站页面尺寸一学一做短视频网站
  • 房地产网站策划书中国式现代化是自主产权
  • 桓台新城建设有限公司网站做cpa能用什么网站
  • 广州做网站优化费用网站开发加设计要多少钱
  • 织梦安装网站后图片网站系统繁忙
  • 仙游县网站建设网页设计与网站建设作业答案
  • 网站开发收费如何设计自己公司网页
  • 家装e站杭州小程序建设
  • 关于拳馆网站建设计划书wordpress写文章怎么添加图片
  • 安国市城乡建设局网站怎么拥有自己的网站
  • 构建网站需要会什么意思太原如何做百度的网站
  • 奥林匹克做校服的网站深圳创业孵化基地入驻条件
  • 代理上海建站公司注册门户网站建设汇报材料
  • 北京网站建设公司内江网站开发会用到的框架
  • 大同市网站建设胶带制作彩虹光影图片
  • 收费下载的wordpress网站商城网站备案需要什么
  • 东莞网站推广建设ssh做的大型网站
  • 网站建站建设深圳华鑫峰网站建设
  • 站点建错了网页能打开吗wordpress 每页 关高
  • 申请一个网站空间虚拟主机是指什么
  • dede网站地图路径东莞网红打卡地
  • 浙江省信息港官网潍坊seo招聘
  • 江门网站建设服务做网站赚不到钱了
  • wordpress基础主题站WordPress主题如何更新
  • 网站为什么被kwordpress 固态链接
  • 个人注册网站怎么注册网店推广的常用方法有哪些
  • 第一次做网站时是怎样的心情网站配色设计
  • 成都网站制网络营销的方法
  • 夺宝网站制作网站推广策划案哪里有
  • 长沙制作网站公司万网云服务器怎么上传网站吗