asp.net如何格式化dos输出的内容 需转换换行符

来源:记忆盒子的博客 责任编辑:栏目编辑 发表时间:2013-07-01 10:57 点击:

      今天在开发时遇到一个问题,就是dos内容直接输出到网页上的时候,并没有换行,也不分段,所有字符密密麻麻连在一起了。比如在dos里执行ping www.webkaka.com的命令,得到的是很整体的可读性很高的输出结果。

 

      但是,如果把这些内容直接复制到网页上,并不会有这样的格式化结果,而是出现如下面的一堆字符,完全不具可读性。

Pinging www.a.shifen.com [220.181.112.143] with 32 bytes of data: Reply from 220.181.112.143: bytes=32 time=43ms TTL=54 Reply from 220.181.112.143: bytes=32 time=44ms TTL=54 Reply from 220.181.112.143: bytes=32 time=43ms TTL=54 Reply from 220.181.112.143: bytes=32 time=43ms TTL=54 Ping statistics for 220.181.112.143: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 43ms, Maximum = 44ms, Average = 43ms

      这就需要程序来进行字符转换。dos输出的结果,主要包含4个不可见字符,分别是回车符、换行符、制表符和空格符

      我们不能轻而易举的直接进行字符替换就能完事,因为那些字符是不可见的,必须通过间接的方式查找出这些字符,然后才可替换掉。

      处理这个问题,我用上了ASCII码,通过ASCII码表,可查出这4个不可见字符的ASCII值分别是回车符(13)、换行符(10)、制表符(9)和空格符(20),现在只需要把dos输出的结果每个字符进行ASCII转换,找出这4个不可见字符,替换成相应的符号即可。其中回车符和换行符均替换为“<br>”,空格符则替换为“&nbsp;”,而制表符替换为三个空格符的HTML代码“&nbsp;”,这样便能格式化这堆密密麻麻的字符串了。

      看看网页输出的格式化结果:

      Pinging www.a.shifen.com [220.181.112.143] with 32 bytes of data: 

      Reply from 220.181.112.143: bytes=32 time=43ms TTL=54 
      Reply from 220.181.112.143: bytes=32 time=44ms TTL=54 
      Reply from 220.181.112.143: bytes=32 time=43ms TTL=54 
      Reply from 220.181.112.143: bytes=32 time=43ms TTL=54 

      Ping statistics for 220.181.112.143: 
         Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), 
      Approximate round trip times in milli-seconds: 
         Minimum = 43ms, Maximum = 44ms, Average = 43ms

      核心程序代码(asp.net):

      1、字符转ASCII值函数

    public static int Asc(string character)
    {
        if (character.Length == 1)
        {
            System.Text.ASCIIEncoding asciiEncoding = new System.Text.ASCIIEncoding();
            int intAsciiCode = (int)asciiEncoding.GetBytes(character)[0];
            return (intAsciiCode);
        }
        else
        {
            throw new Exception("Character is not valid.");
        }
    }

      2、字符替换

      假设dos输出的结果赋给变量strResult,格式化后的结果赋给变量strResultFormat

    发表评论
    请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
    用户名: 验证码:点击我更换图片
    最新评论 更多>>

    推荐热点

    • 12个影响SEO价格的常见因素
    • 从市场的角度思考网站建设
    • 网站优化之黑帽SEO
    • 行业站站长必备:如何提升行业网站影响力
    • 星际争霸运营与网站运营的思考
    • 乐讯刷机网全新改版 在线刷机更方便更放心
    • 网站优化:如何模拟不同带宽测试网页打开速度
    • 全站301重定性 避免带与不带www域名权重分散的几种方法
    • webkaka新增了几个网页优化工具:图片/CSS/JS压缩
    网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
    Copyright © 2008-2015 计算机技术学习交流网. 版权所有

    豫ICP备11007008号-1