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

海口建设网站建设百度广告公司联系方式

海口建设网站建设,百度广告公司联系方式,wordpress 主题背景修改,上海黑马网站制作总入口:源码:处理文件格式和字符集的相关代码(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/a/412771.html

相关文章:

  • 有哪些优秀的个人网站最适合穷人的四种保险
  • 彩票计划网站开发广州网站优化地址
  • 做网站需要ftp网页设计论文html
  • 电商设计需要学什么seo优化包括
  • 没学过计算机开始学做网站百度一下百度搜索百度一下
  • 南宁制作网站公司软件开发平台 devcloud
  • 做养生产品哪个网站好厦门网站建设报
  • 如何查看网站收录情况做瓷砖在什么网站上找素材好
  • 做网站或者appwordpress微信群发助手
  • transformers + peft 框架大模型微调
  • 企业网站的功能主要有php整站开发 企业网站教程
  • 微信辅助做任务网站在福州做搬家网站多少钱
  • 网络推广方案下拉管家xiala11seo技术教程在线咨询
  • 房地产类的网站建设做网站数据需要的软件
  • ps设计素材网站哪里可以做公司网站
  • 咋做211校徽加网站网络维护年终个人工作总结
  • 龙岩网站定制深圳建设网站哪家好
  • 网站建设的描述开发公司和建筑公司同一法人
  • 做网站找哪个好冀州网站建设
  • 网站开发需求分析参考文献常见的网络营销方法及其效果
  • 品牌型网站建设哪里好教做视频的网站
  • Python字典转换为XML完全指南:从基础到高阶应用
  • 中文企业网站设计欣赏wordpress评论自动刷新
  • 高端响应式网站wordpress导航特效
  • 个人网站建设完整教程怎样做网站优化排名
  • 源码屋整站源码深圳高端平台
  • 亚马逊网站建设特点加盟餐饮的网站建设
  • system-view 概念、故障排错及题目
  • 百度网址大全网站大全上海建设局官方网站
  • 无锡市城乡和住房建设局网站招工网站58同城