Uppercase I with acute accentDouble box horizontal line
ASCII 205 is Í on Windows and ═ in old DOS.
Í (Capital I with Acute) is byte 205 in Windows-1252, Unicode U+00CD. Spanish puts it on capitals like ÍNDICE and names like Íñigo, and Icelandic and Hungarian start words with it (Ísland, Írország). Don't confuse it with the Turkish capital İ (U+0130), which has a dot instead of an accent: İstanbul written with Í is a misspelling, and Windows-1252 has no İ at all. UTF-8 stores Í as C3 8D, and 8D is one of the unassigned bytes in Windows-1252, so a strict decoder stops on it. The HTML entity is Í.
═ (Double Horizontal) is byte 205 in code page 437, the original IBM PC character set, and maps to Unicode U+2550. It's the top and bottom edge of every all-double frame, running between corners like ╔ (201) and ╗ (187), and people also use it for banner lines in plain text. In a README, a row of ═ under a title looks like Markdown's === heading underline, but Markdown only recognizes the ASCII = (0x3D) there, so ═══ stays an ordinary line of text and the title never becomes a heading. It isn't ≡ (identical to, U+2261) either. In UTF-8 it's E2 95 90, and the HTML entity is ═.
#include <stdio.h>int main(void) {/* On Windows (code page 1252) byte 205 is Í.Modern terminals expect UTF-8, so print the code point, not the byte. */printf("\u00CD\n"); /* UTF-8: C3 8D */unsigned char b = 205; /* the raw Windows-1252 byte */printf("%d 0x%02X\n", b, b); /* 205 0xCD */return 0;}
#include <stdio.h>int main(void) {/* Byte 205 is ═ only on a console using code page 437(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal thelone byte 0xCD is invalid and prints as garbage, often �. */putchar(205);/* char is signed on x86, so a plain char holding 0xCD is -51.Use unsigned char when you compare or index by byte value. */char c = (char)205;unsigned char u = 205;printf("\n%d %d\n", c, u); /* -51 205 *//* Portable: print the Unicode character as UTF-8 instead. */printf("\u2550\n"); /* E2 95 90 */return 0;}
No. Spanish has only one written accent, the acute, so it's always Í, as in ÍNDICE, Íñigo and país. Catalan does use grave accents, but only on a, e and o, and its i takes the acute too, as in príncep and veí. Ì belongs to Italian, so in Spanish text it's a typo.
Alt+205 without a zero reads the DOS table, where 205 is the double horizontal line ═ that double box borders are built from. Alt+0205 gives Í. On Spanish and other Western European PCs, whose DOS code page is 850, Alt+214 also types Í, while on a US machine that code gives ╓.
Because '═' isn't one char. Saved as UTF-8 it's three bytes, so the literal becomes a multi-character constant, the compiler squeezes it into a single char, and you get 40 copies of one broken byte. Append the string instead: `for (int i = 0; i < 40; ++i) line += "═";`. On Windows, `std::wstring(40, L'═')` also works if you print it with wide output.
On the classic Windows console, a line that fills every column pushes the cursor onto the next row by itself, and the newline printed afterwards moves it down again. Make the banner one column shorter, as in `print('═' * (os.get_terminal_size().columns - 1))`, or print the full width with end='' so no newline follows.
Alt+205 without a zero reads the DOS table, where 205 is the double horizontal line ═ that double box borders are built from. Alt+0205 gives Í. On Spanish and other Western European PCs, whose DOS code page is 850, Alt+214 also types Í, while on a US machine that code gives ╓.