Diaeresis (umlaut)Inverted question mark
ASCII 168 is ¨ on Windows and ¿ in old DOS.
¨ (Diaeresis) is byte 168 in Windows-1252, Unicode U+00A8. It's the two dots of an umlaut or trema on their own, as a spacing character that doesn't attach to any letter. One place it turns up uninvited: text copied out of a PDF made with LaTeX can read M¨uller instead of Müller, because the old default font encoding (OT1) draws the dots as a separate glyph placed over the u. On the LaTeX side, \usepackage[T1]{fontenc} fixes it at the source. In text you've already extracted, replace ¨ plus vowel with the precomposed letter. In UTF-8 it's C2 A8, and the HTML entity is ¨.
¿ (Inverted Question Mark) is byte 168 in code page 437, the original IBM PC character set, and maps to Unicode U+00BF. Windows-1252 has the diaeresis ¨ at 168, so Spanish DOS text read as Windows-1252 turns ¿Qué? into ¨Qu‚?, since the é breaks too. Code page 850 kept ¿ at 168 too.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 168 is ¨.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00A8\n"); /* UTF-8: C2 A8 */unsigned char b = 168; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 168 0xA8 */return 0;}
#include <stdio.h>int main(void) {/* Byte 168 is ¿ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xA8 is invalid and prints as garbage, often �. */putchar(168);/* char is signed on x86, so a plain char holding 0xA8 is -88.Use unsigned char when you compare or index by byte value. */char c = (char)168;unsigned char u = 168;printf("\n%d %d\n", c, u); /* -88 168 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u00BF\n"); /* C2 BF */return 0;}
¿ is also ASCII 191 on Windows, which has the full guide.
Because ¨ (U+00A8) is a spacing character. It takes up its own slot and never attaches to its neighbor, since it exists to show the mark on its own, say when you're naming the accent. For the letter, use the precomposed ü (U+00FC, byte 252 in Windows-1252). If you're building the text in code, the attaching mark is the combining diaeresis `\u0308` after the u, and NFC normalization turns that pair into ü.
No. ¨ is the diaeresis (diéresis in Spanish), the mark on the u in güe and güi, as in pingüino. For quotes the RAE puts the angular pair « » first, with “ ” for a quote inside a quote. In Windows-1252 « and » are bytes 171 and 187, and in the DOS set they sit at 174 and 175.
Because the leading zero switches Alt codes from the DOS table to the Windows one. Alt+168 goes through your system's DOS code page, and on US and Western European setups (437 or 850) that slot holds ¿. Alt+0168 uses Windows-1252, where 168 is the diaeresis ¨. If you want a zero-style code for ¿, it's Alt+0191, and both routes insert the same character.
The file was saved in a DOS code page and is being read as Windows-1252, which puts ¨ at byte 168 where DOS had ¿. The é breaks as well, so ¿Qué? shows up as ¨Qu‚? on screen. Convert the file once: `iconv -f CP850 -t UTF-8 old.txt > new.txt`. Code page 437 also has ¿ at 168, but it lacks Á, Í, Ó and Ú, so 850 is the safer pick for Spanish.
Because the leading zero switches Alt codes from the DOS table to the Windows one. Alt+168 goes through your system's DOS code page, and on US and Western European setups (437 or 850) that slot holds ¿. Alt+0168 uses Windows-1252, where 168 is the diaeresis ¨. If you want a zero-style code for ¿, it's Alt+0191, and both routes insert the same character.
The file was saved in a DOS code page and is being read as Windows-1252, which puts ¨ at byte 168 where DOS had ¿. The é breaks as well, so ¿Qué? shows up as ¨Qu‚? on screen. Convert the file once: `iconv -f CP850 -t UTF-8 old.txt > new.txt`. Code page 437 also has ¿ at 168, but it lacks Á, Í, Ó and Ú, so 850 is the safer pick for Spanish.