c# - 如何将非 ASCII 字符输出到 CMD.exe 会话中?
问题描述
当我尝试从我的 C# 命令行应用程序输出 unicode 字符 8595(十进制),它是一个向下箭头时,控制台没有看到向下箭头,而是在一个框中显示一个问号。
有没有办法输出向下箭头字符以使其显示在控制台中?
我必须使用的唯一工具是visual studio。下面是我的代码:
static void Main(string[] args)
{
char arrow = (char)8595;
Console.WriteLine(arrow);
}
这是我在运行命令行应用程序时在 cmd.exe 窗口中看到的图像(注意“Press”中字母“P”上方的方框问号):
解决方案
您需要让控制台知道您将向其写入非 ASCII 字符。
更改您的代码如下:
static void Main(string[] args)
{
char arrow = (char)8595;
Console.OutputEncoding = System.Text.Encoding.UTF8; // set encoding of console
Console.WriteLine(arrow);
}
推荐阅读
- r - R中的相对频率直方图,ggplot
- arrays - 如何在 Minizinc 中连接数组的所有字符串?
- java - 无法模拟 FileInputStream
- nginx - Nginx 基本身份验证不适用于 HTTPS/域
- laravel - 文件上传限制问题 laravel
- php - Discord Oauth 获取权限
- java - 在导航抽屉过渡方面需要帮助
- node.js - 使用代理在 AWS S3 存储桶中托管 Angular 6 应用程序
- bluetooth-lowenergy - 如何使用网络蓝牙将存在 CRC 的命令正确发送到特征?
- c - 应用程序随启动应用程序启动时没有按钮单击声音