gpt4 book ai didi

c# - 字体是对的。为什么我不能让这个 unicode 字符显示在这个 C# 控制台应用程序中?

转载 作者:行者123 更新时间:2023-11-30 14:52:50 25 4
gpt4 key购买 nike

我已经在 cmd 中添加了字体。 (DejaVu Sans Mono)这techrepublic link有注册表 hack 可以将字体添加到 cmd,可以为某些字体做到这一点,例如那个字体。

字体有一个 unicode 非 ascii 字形,我可以将该 unicode 非 ascii 字形粘贴到 cmd 提示符中

但是我从标准输入读取的 C# 程序没有输出它

enter image description here

enter image description here

enter image description here

这是我的 C# 程序及其输出

我的程序从标准输入读取一行,然后写入。

问题是写的时候写的是问号

程序甚至有这一行

Console.OutputEncoding = System.Text.Encoding.Unicode;

但即使有了那一行,它也不会输出字符

C:\blah>echo ⬕


C:\blah>type b1.cs
using System;
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = System.Text.Encoding.Unicode;
string s;
s = Console.ReadLine();
Console.WriteLine(s);

}
}
C:\blah>b1

?

C:\blah>

我知道我在很好的公司,因为 more 有同样的问题..但是 echo 可以做到,所以我应该能够让我的程序做到这一点

C:\blah>echo ⬕


C:\blah>more

?

^C
C:\blah>

添加了关于 cyril 评论的截图

enter image description here

添加了屏幕截图 re .. 评论

一行 C# 程序 Console.WriteLine("⬕") 写入 ? 它被保存为 unicode 以保留该字符,并进行编译。但是考虑到它打印了一个 ?,似乎损坏发生在输出上。我不能完全评论损坏是否也发生在标准输入上。但看起来它发生在输出上。

最佳答案

您还需要设置输入编码。

Console.InputEncoding = System.Text.Encoding.Unicode;

更新了!

using System;
class Program
{
static void Main(string[] args)
{
Console.OutputEncoding = System.Text.Encoding.Unicode;
Console.InputEncoding = System.Text.Encoding.Unicode;
string s;
s = Console.ReadLine();
Console.WriteLine(s);

}
}

关于c# - 字体是对的。为什么我不能让这个 unicode 字符显示在这个 C# 控制台应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30904504/

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