La sortie d'un caractère Unicode en C#
Je suis nouveau en programmation et en autodidacte. J'essaie de sortie le symbole astrologique du signe du Taureau, qui est censé être U+2649 en Unicode. Voici le code que j'utilise...
string myString = "\u2649";
byte[] unicode = System.Text.Encoding.Unicode.GetBytes(myString);
Console.WriteLine(unicode.Length);
Le résultat que j'obtiens est le numéro 2 de la place du symbole ou de la police. Je suis sûr que je suis en train de faire quelque chose de mal.
OriginalL'auteur Ed Olson | 2010-07-01
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'avoir une police qui affiche le glyphe. Si vous le faites, alors:
est tout ce dont vous avez besoin.
EDIT: Remarque, la seule police que j'ai pu trouver qui a ce glyphe est "MS Reference Sans Serif".
Pas de. J'ai regardé la plus développée de polices de caractères dans la table des Caractères et a constaté que MS Reference Sans Serif. Aucun des autres suspects habituels - Arial, Verdana, Tahoma, Calibri - ont. MS Reference Sans Serif est pas une taille fixe glyphe, donc il va paraître bizarre dans la Console.
Arial Unicode, même si vous n'avez qu'à cocher supplémentaire boîtes à installer (ou de l'installation d'Office?), comme MS Mincho/PMincho et MS Gothic/PGothic. Maintenant, je fais généralement tout sur la console, mais si vous voulez des caractères complexes comme cela, vous pouvez probablement faut pour construire une interface graphique, application à la place.
Merci à tous ceux qui ont répondu. Ed
OriginalL'auteur codekaizen
Pourquoi êtes-vous de la conversion en unicode, ce ne sera pas rien faire.. perdre de la conversion et de faire ce qui suit:
OriginalL'auteur mousa
La longueur de l'Unicode des caractères, en octets, est 2 et vous écrivez le
Length
à la Console.Si vous souhaitez afficher le caractère réel, alors vous voulez:
Vous devez utiliser une police qui a qui Unicode gamme pour afin d'afficher correctement.
Mise à JOUR:
À l'aide de la console par défaut de la police ci-dessus
Console.WriteLine(myString)
va sortir un?
personnage comme il n'y a pas de\u2649
. Autant je l'ai googlé, il n'y a pas de moyen facile de faire de l'affichage de la console de l'Unicode des caractères qui ne font pas déjà partie du système de pages de code ou de la police que vous choisissez pour la console.Il peut être possible de changer la police de caractères utilisée par la console: Modification De Console De Polices
désolé, je n'avais pas. J'aurais dû mettre un avertissement. Je vais essayer maintenant et après une mise à jour de ma réponse. Merci Hans.
Merci Dennis. C'est très utile. Alors que je ne comprends pas l'ensemble de la programmation pour changer les Polices de la Console, il est tout à fait intéressant.
Pourquoi a-t-elle à une sortie de la console? Il serait plus facile de créer un simple formulaire avec une zone de texte que vous seriez en mesure de définir la police.
Salut Dennis, Espère que vous avez passé de bonnes vacances. Je suis en train de jouer à essayer d'apprendre le C#. Je suis vraiment nouveau à cela et pensé qu'il serait amusant d'écrire un programme simple pour la sortie des signes astrologiques. J'ai vu sur internet et je me demandais comment ils leur sortie. Je suppose qu'ils sont en utilisant le HTML? Si je trouve un jeu de caractères qui a les glyphes, comment dois-je inclure dans mon programme? Dois-je mettre le fichier dans le dossier de référence sur Visual C# 2008 Express et l'utilisation à l'aide d'instruction? Je ne veux vraiment pas de sortie au format jpeg ou quelque chose comme ça. Merci Dennis, -Ed-
OriginalL'auteur Dennis
Vous êtes sortie la longueur de la nature, en octets. La Console ne prend pas en charge unicode sortie, cependant, de sorte qu'il va sortir comme un caractère'?'.
OriginalL'auteur Richard Hein