C# 程序:统计文本文件中未曾出现的 ASCII

一段简单的代码,找到给定的文本中哪个 ASCII 字符没有出现过

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;

namespace FilterAscii
{
    class Program
    {
        static void Main(string[] args)
        {
            if (args.Length == 0)
            {
                Console.WriteLine("Usage: AsciiCharCounter <filename>");
                return;
            }

            string filename = args[0];
            if (!File.Exists(filename))
            {
                Console.WriteLine($"File not found: {filename}");
                return;
            }

            bool[] charPresence = new bool[128];
            foreach (char c in File.ReadAllText(filename))
            {
                if (c < 128) charPresence[c] = true;
            }

            Console.WriteLine("Missing ASCII characters:");
            for (int i = 0; i < 128; i++)
            {
                if (!charPresence[i])
                {
                    Console.WriteLine($"'{(char)i}' (ASCII {i})");
                }
            }
        }
    }
}

我用这个工具分析一个Debug BIOS 串口输出结果如下,没有出现过的大部分 ASCII 都是不可见的,只有 $ 和 ^ 这两个可见的没有输出过

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注