Apostrophe droite simple contre apostrophe?
Droit guillemet simple (U+2019)
vs
Apostrophe (U+0027)
Quelle est la différence entre ces deux personnages?
Je suis tombé sur cette question lorsque j'utilise CAtlString pour charger une chaîne à partir d'un fichier de ressources, et sur certaines installations de Windows, le LoadString échoue lorsque vous essayez de charger une chaîne de caractères qui contient U+2019, mais il fonctionne sur une autre installation de Windows. Le U+2019 personnage apparaît dans des chaînes dans mon fichier de ressource que j'ai copié à partir de Word, et U+0027 apparaît dans stirngs que j'ai la main codé. Pourquoi ne LoadString (parfois) d'étranglement sur cette?
source d'informationauteur TripShock
Vous devez vous connecter pour publier un commentaire.
Défendable!
Va par le nom, on pourrait imaginer que le frisé ‹’› est à utiliser uniquement comme un guillemet, et que la droite ‹'› est que pour l'utiliser comme un véritable apostrophe, un indicateur de omis de lettres.
Cependant la composition traditionnelle de la pratique de l'anglais est de toujours utiliser un curly ‹’› pour rendre une apostrophe. Personnellement—et je suis peut-être seul ici—je n'aime pas cela. Il peut faire plus ambiguë de lecture:
avec les apostrophes être linéaire, c'est (un peu) plus clair où la citation de fin:
et l'apostrophe étant "straight" plus de sens pour moi, car son objet est d'indiquer omis de lettres n'a pas inhérente à la directivité, alors que les guillemets sont clairement asymétrique dans le but.
Traditionnelle ASCII, bien sûr, il y a pas de guillemets, de sorte que l'apostrophe est toujours utilisé pour les deux...
Vous êtes ici à la réunion de l'horreur de la ‘ANSI’ page de code. C'est un codage de caractères par défaut qui est différente entre les différents d'installation de Windows, les paramètres régionaux. Ainsi, sur une machine dans la région de l'Ouest, vous obtenez des résultats différents lorsque vous lisez une ressource pour quand vous lisez sur un Windows en Japonais.
Il est très regrettable que Windows a différentes pages de code par défaut au lieu d'utiliser une seule mondial de codage comme UTF-8, mais il est trop tard pour corriger maintenant. Si vous compilez votre application dans son ensemble comme une application Unicode (de sorte que vous serez en utilisant
LoadStringW
plutôt queLoadStringA
), vous pouvez alors composer avec les caractères non-ASCII comme les guillemets beaucoup mieux.Si vous ne pouvez pas passer à une application Unicode vous êtes un peu coincé. Vous ne serez pas en mesure de gérer les caractères non-ASCII comme les guillemets à l'échelle mondiale, de sorte bâton avec ASCII des caractères tels que le droit de l'apostrophe ‹'› seuls.
Oui, le Mot a une fâcheuse fonctionnalité de correction automatique qui remplace toutes les apostrophes vous tapez avec des guillemets"". Cela est particulièrement indésirable lorsque vous travaillez avec le code, où ‹’› pause le programme; mais c'est également faux, même pour bon vieil anglais, car il n'est pas possible de deviner correctement la direction souhaitée de la citation. (Il va avoir l'un des apostrophes dans “fish 'n' chips” dans le mauvais sens, par exemple.)
Je suggère de désactiver l'automatique-remplacer-avec-smart-fonctionnalité devis. Si vous voulez les guillemets, il est préférable de type délibérément. Malheureusement, ils sont difficiles à taper sur la plupart des configurations de clavier, nécessitant souvent obscur Alt+pavé numérique séquences. Personnellement, j'utilise cette une pour les déposer sur les touches Alt+[] touches.
Historiquement, les apostrophes et les guillemets viennent en paires, à gauche (ouvert) et à droite (à proximité).
Pendant de nombreuses années, les jeux de caractères, des ordinateurs ont été limited, ayant une forme unique de chacun.
Maintenant, avec l'avènement de l'Unicode, la forme complète sont disponibles, mais le support est encore limitée. Les langages de programmation utilisent encore la simplicité des formes, et la forme complète peut encore causer des problèmes.