C# 在控制台上打印 ASCII 字符

Ste*_*vie 3 c# console ascii

我需要让控制台打印每“页”22 个字符的 ASCII 字符。输入“key”后,它们将打印接下来的 22 个 ASCII 字符,依此类推。问题出在“翻页”问题上。

这是我的代码:

    static void Main(string[] args)
    {

        int i = 0;

        while (i <= 22)
        {
            Console.Write(i + " = " + (char)i);

            if (i < 22)
            {
                Console.Write((char)10);
            }

            i++;
        }

        Console.Write("Please press any key to turn page");

        Console.ReadKey();

        while (i > 22 && i <= 44)
        {
            Console.Write(i + " = " + (char)i);

            if (i < 44)
            {
                Console.Write((char)10);
            }

            i++;
        }

        Console.Write("Please press any key to turn page");

        Console.ReadKey();
    }
Run Code Online (Sandbox Code Playgroud)

我本质上是一个新手。我大部分东西都是自己学的,所以如果我在学业上难以忍受,请忍受我,并告诉我如何做到这一点。我可以从那里过去。提前致谢。

Els*_*han 5

如果您不使用System.Text.Encoding.GetEncoding(28591);控制台,则会为某些 ASCII 字符提供不同的符号或不正确的字体。有关GetEncoding(28591)的更多信息

/*internal const int ISO_8859_1 = 28591;// Latin1;*/

using System;

namespace AsciiChart
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.OutputEncoding = System.Text.Encoding.GetEncoding(28591);
            for (int i = 0; i < 256; i++) {
                Console.Write(i+"=> ["+(char)i +"]  \n");
            }
            Console.ReadKey();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

编辑: 为了更好的格式,我用它编辑了源代码。

 Console.Write(" "+(char)i );
   if (i % 16 == 0) { // 16*16 = 256
     Console.Write("\n");
 }
Run Code Online (Sandbox Code Playgroud)