c# - teclado - ¿Cómo escribir caracteres Unicode en la consola?
lista de caracteres especiales (3)
Encontré una solución elegante en MSDN
System.Console.Write(''/uXXXX'') //XXXX is hex Unicode for character
Este sencillo programa escribe ℃ en la pantalla.
using System;
public class Test
{
public static void Main()
{
Console.Write(''/u2103''); //℃ character code
}
}
Me preguntaba si era posible, en una aplicación de consola, escribir caracteres como ℃
usando .NET. Cuando trato de escribir este caracter, la consola genera un signo de interrogación.
Es probable que su codificación de salida esté configurada en ASCII. Intenta usar esto antes de enviar el resultado:
Console.OutputEncoding = System.Text.Encoding.UTF8;
( link MSDN a la documentación de respaldo).
Y aquí hay una pequeña aplicación de prueba de consola que puede encontrar a mano:
DO#
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();
}
}
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
También es posible que su elección de la fuente de consola no sea compatible con ese personaje en particular. Haga clic en el menú de la barra de herramientas de Windows (icono como C :.) y seleccione Propiedades -> Fuente. Pruebe con otras fuentes para ver si muestran su personaje correctamente:
Propiedad Console.OutputEncoding
http://msdn.microsoft.com/library/system.console.outputencoding(v=vs.110).aspx
Tenga en cuenta que mostrar correctamente los caracteres Unicode en la consola requiere lo siguiente:
- La consola debe usar una fuente TrueType, como Lucida Console o Consolas, para mostrar los caracteres