Sam*_*Sam 134 .net c# vb.net console-application
我想知道在控制台应用程序中是否有可能?使用.NET 编写字符.当我尝试编写此字符时,控制台会输出一个问号.
Pau*_*sik 179
您的输出编码可能设置为ASCII.在发送输出之前尝试使用它:
Console.OutputEncoding = System.Text.Encoding.UTF8;
Run Code Online (Sandbox Code Playgroud)
(MSDN 链接到支持文档.)
这里有一个你可以找到的小控制台测试应用程序:
C#
using System;
using System.Text;
public static class ConsoleOutputTest {
public static void Main() {
Console.OutputEncoding = System.Text.Encoding.UTF8;
for (var i = 0; i <= 1000; i++) {
Console.Write(Strings.ChrW(i));
if (i % 50 == 0) { // break every 50 chars
Console.WriteLine();
}
}
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
VB.NET
imports Microsoft.VisualBasic
imports System
public module ConsoleOutputTest
Sub Main()
Console.OutputEncoding = System.Text.Encoding.UTF8
dim i as integer
for i = 0 to 1000
Console.Write(ChrW(i))
if i mod 50 = 0 'break every 50 chars
Console.WriteLine()
end if
next
Console.ReadKey()
End Sub
end module
Run Code Online (Sandbox Code Playgroud)
您选择的Console字体也可能不支持该特定字符.单击Windows工具栏菜单(图标如C:.)并选择属性 - >字体.尝试其他一些字体,看看它们是否正确显示了你的角色:

wat*_*rif 10
除了 Console.OutputEncoding = System.Text.Encoding.UTF8;
对于某些字符,您需要安装额外的字体(即中文)。
在Windows 10 中,首先转到区域和语言设置并安装对所需语言的支持:

之后,您可以转到命令提示符属性(或默认值,如果您愿意)并选择一些支持您的语言的字体(如中文中的KaiTi):

我在MSDN上找到了一些优雅的解决方案
System.Console.Write('\uXXXX') //XXXX is hex Unicode for character
Run Code Online (Sandbox Code Playgroud)
这个简单的程序在屏幕上正确写入.
using System;
public class Test
{
public static void Main()
{
Console.Write('\u2103'); //? character code
}
}
Run Code Online (Sandbox Code Playgroud)
小智 7
Console.OutputEncoding属性
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
请注意,成功向控制台显示Unicode字符需要以下内容:
| 归档时间: |
|
| 查看次数: |
110175 次 |
| 最近记录: |