ASCII i Windows XP og Ubuntu Linux

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har lavet et program i MVSC ++, som udsender hukommelsesindhold (i ASCII). Den ASCII, jeg ser i Windows-konsollen, ser ud til at matche det, jeg ser i forskellige ASCII-tabeller (smiley, diamant, klub, højre pil osv.). kompilere under Linux (som gør), men ASCII-output ser helt anderledes ud. Et par symboler er de samme, men resten er så forskellige. Er der nogen måde at ændre, hvordan terminalen viser ASCII-kode?


EDIT: Programmet udføres korrekt, det er bare ASCII'en, der vises anderledes.

Bedste reference


ASCII definerer tegnkoder fra 0x00 til 0x7f. Alt andet (0x80-0xff) er ikke en del af ASCII-standarden og afhænger af, hvad operativsystemet definerer som de tegn, der skal vises. Men de tegn du nævner (smiley, diamant, klub osv.) Er repræsentationerne af ASCII 'kontrol tegn', der normalt ikke har en visuel repræsentation. Windows giver dig mulighed for at udskrive sådanne tegn og se de glyfer, der er defineret for dem , men din Linux fortolker sandsynligvis kontroltegnene som formateringskoder (som de er) i stedet for at udskrive tilsvarende glyfer.

Andre referencer 1


Hvad du ser er det 'udvidede' tegnsæt, som IBM oprindeligt inkluderede, da pc'er først blev løsnet på verden. Ja, vi går tilbage til alder af mægtige dinosaurer, så bære med mig. Disse tegn lever over $ 7F, og fortolkningen af ​​deres symboler på skærmen kan endda påvirkes af den valgte skrifttype. De fleste linux distros bruger nu UTF-8 (eller noget tæt), og som sådan kan de installerede skrifttyper have helt forskellige symboler eller endda mangle glyfer. I tilfælde, hvor du sammenligner 'ASCII' -præsentationer (som er en misvisende, som det ikke er sandt ASCII) af de samme data, kan det eller ikke passer perfekt, da du skal have de samme 'glyph' renderinger i begge Vis skrifter til korrekt gengivelse af lignende repræsentationer. Prøv at få både dine Windows- og Linux-installationer til at bruge samme skrifttype, hvis det er muligt, og se om der er en ændring.

Andre referencer 2


Hvis din browser understøtter Unicode (og du har de korrekte skrifttyper installeret), vil du se dem bellow.
Du kan kopiere og indsætte i en editor med unicode support (Notesblok). Gem som UTF-16BE
Så hvis du åbner i en HexEditor vil du se alle unicode koder for hver char synlig glyph.
I eksemplet har den første ascii char Null Unicode synlig glyph 0x2639
i c \ c ++ \ java kan du bruge det som \ u2639.
Det er ikke en null char, men den visuelle repræsentation.


http://en.wikipedia.org/wiki/Code\_page\_437



☹☺☻ ♥ ♦ ♣ ♠ • ◘ ○ ◙♂♀ ♪ ♫ ☼►◄-adresse! ¶§▬↨ ↑ ↓ → ← ∟↔ ▲ ▼! '# $\% u0026' () * +, -./0123456789: ; <? => @ ABCDEFGHIJKLMNOPQRSTUVWXYZ [[]] ^ \_ `abcdefghijklmnopqrstuvwxyz {|} ~ ⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ ¢ £ ¥ ₧ ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴ ┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσμτΦΘΩδ∞φε∩≡ ± ≥≤⌠⌡ ÷ ≈ ° ∙ · √ⁿ² ■ ⓿ [[[1]