gpt4 book ai didi

visual-studio - 如何在 Visual Studio 15 控制台应用程序中使用方框绘制高 ASCII 字符?

转载 作者:行者123 更新时间:2023-12-04 05:40:41 26 4
gpt4 key购买 nike

我有一个 Win32 控制台应用程序,可以在 CMD 窗口中玩游戏。

我想使用一些标准的方框绘图字符在字段周围绘制一个方框,例如:(186: ║), (187: ╗) (188: ╝), (200: ╚), (201: ╔), (205: ═) 但我什么也做不了。

首先,在构建过程中,我收到警告,例如:“警告 C4566:当前代码页 (1252) 中无法表示由通用字符名称 '\u2551' 表示的字符”

代码将运行,但它会显示其他内容来代替方框绘图字符。我查看了尽可能多的属性,但没有找到任何可以更改当前代码页的地方。

关于如何以及在何处更改它的任何想法?或者这是我需要在 Windows 中更改的内容吗?如果重要的话,我正在运行 Win 7 Pro。

我确实将 VS 编辑器的代码页更改为 850(西欧 DOS),但这对可执行文件没有影响。

最佳答案

Nota Bene:“高 ASCII”和 不够具体,没有意义。 (请停止使用这些术语。)

最后一件事:您的控制台必须选择支持您要使用的编码和字符的字体。自 1981 年以来,这对于方框绘图字符应该不是问题。但是您可以通过检查控制台设置并使用 charmap 来检查。

最好不要乱用默认的 C# 源文件编码。 UTF-8 很棒。

接下来,将您要在源代码中使用的字符用作文字 UTF-16 代码单元。因此,“║”而不是 186——但如果必须的话,可以使用“\u2551”。它使代码更易于阅读。

Console.OutputEncoding最好将 UTF-8 用于输出,除非它不受支持或难以使用。

如果可以,请使用 chcp 65001 命令将控制台编码更改为 UTF-8。如果不能,请返回并将您的 Console.OutputEncoding 更改为您的控制台正在使用的任何内容(例如代码页 437)。


这是一个例子:

class Program
{
static void Main(string[] args)
{
var codePage = Console.OutputEncoding.CodePage.ToString();
var length = codePage.Length;
Console.WriteLine($"╔{new String('═', length)}╗");
Console.WriteLine($"║{codePage}║");
Console.WriteLine($"╚{new String('═', length)}╝");
}
}

在我在 cmd.exe 中执行 chcp 65001 之后,它显示了这个:

╔═════╗
║65001║
╚═════╝

如果我不先执行 chcp 就运行它:

╔═══╗
║437║
╚═══╝

然后,在我在 cmd.exe 中执行 chcp 850 之后:

╔═══╗
║850║
╚═══╝

关于visual-studio - 如何在 Visual Studio 15 控制台应用程序中使用方框绘制高 ASCII 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40787855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com