Back
Asciify Logo
Asciify
¹»

ASCII 186

Masculine ordinalDouble box vertical line

ASCII 186 is º on Windows and ║ in old DOS.

º (Masculine Ordinal) is byte 186 in Windows-1252, Unicode U+00BA. Portuguese uses it in dates: the first of the month is written 1º de maio in Brazil and 1.º de maio in Portugal, while every other day is a plain number. So a date parser written around 2 de maio can fail on the first day of every month. Strip the º, and the period before it, before parsing. It also forms the abbreviation nº for número, which isn't the same as the single numero sign № (U+2116) used in Russian and Ukrainian; Windows-1252 has no №. Old DOS had º too, at 167. In UTF-8 it's C2 BA, and the HTML entity is º.

║ (Double Vertical) is byte 186 in code page 437, the original IBM PC character set, and maps to Unicode U+2551. It's the side of a double-line frame, running between corners like ╔ (201) and ╚ (200). Fonts draw box pieces to fill the whole character cell so lines join from row to row, which is why ║ looks off outside a frame. For a norm in math, ‖v‖, the right character is ‖ (U+2016), and the click letter ǁ (U+01C1) is a third lookalike that search won't equate with either. In UTF-8 it's E2 95 91, which a code page 437 console shows as Γòæ. The HTML entity is ║.

Latin LetterBox Drawing

Technical Details

Technical Details

Code Example

</>
#include <stdio.h>
int main(void) {
/* On Windows (code page 1252) byte 186 is º.
Modern terminals expect UTF-8, so print the code point, not the byte. */
printf("\u00BA\n"); /* UTF-8: C2 BA */
unsigned char b = 186; /* the raw Windows-1252 byte */
printf("%d 0x%02X\n", b, b); /* 186 0xBA */
return 0;
}

Code Example

</>
#include <stdio.h>
int main(void) {
/* Byte 186 is ║ only on a console using code page 437
(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal the
lone byte 0xBA is invalid and prints as garbage, often �. */
putchar(186);
/* char is signed on x86, so a plain char holding 0xBA is -70.
Use unsigned char when you compare or index by byte value. */
char c = (char)186;
unsigned char u = 186;
printf("\n%d %d\n", c, u); /* -70 186 */
/* Portable: print the Unicode character as UTF-8 instead. */
printf("\u2551\n"); /* E2 95 91 */
return 0;
}

How to Type It

Windows
Hold Alt and type 0186 on the numeric keypad, with Num Lock on. The leading zero picks the Windows code page. Alt+167, without the zero, types it too. No numeric keypad? In Word, type 00BA and press Alt+X.
Mac
Press Option+0.
Linux
In GNOME, or any desktop running IBus, press Ctrl+Shift+U, type ba, then Space. With a Compose key set up, press Compose, caret, underscore, o.
Phone
The ° on phone keyboards is the degree sign, a different character. Tap the character at the top of this page to copy it.

How to Type It

Windows
Hold Alt and type 186 on the numeric keypad, with no leading zero. Windows reads it as a DOS code and inserts ║. No numeric keypad? In Word, type 2551 and press Alt+X.
Mac
Press Control+Command+Space to open the Character Viewer, then search for "box drawings double vertical".
Linux
In GNOME, or any desktop running IBus, press Ctrl+Shift+U, type 2551, then Space.
Phone
Phone keyboards have no key for it. Tap the character at the top of this page to copy it.

Frequently Asked Questions

  • No. 20º uses the ordinal indicator, not the degree sign, and search or parsing won't treat them as equal. The swap happens because Spanish keyboards have a key for º and none for °. Don't replace every º, since 2º can also mean segundo. Fix only the ones before C or F, as in `re.sub(r'(?<=\d)º(?=\s?[CF]\b)', '°', s)`.

  • Third floor, second door. The floor (piso) is masculine and takes º, and the door on that landing (puerta) is feminine and takes ª. So Calle Mayor 10, 3º 2ª means building 10, third floor, flat two. Some buildings name doors by side instead, as in 3º izq. or 3º dcha. for left and right.

Frequently Asked Questions

  • Switch stdout to UTF-16 mode and write wide strings. After `_setmode(_fileno(stdout), _O_U16TEXT);` (from io.h and fcntl.h), a line like `std::wcout << L"\u2551";` draws ║ whatever code page the console is set to. The catch is that the stream then refuses narrow output, so don't mix in printf or std::cout calls after the switch.

  • Box-drawing characters have ambiguous East Asian width, so a terminal running in a CJK locale may draw them two columns wide, and every wall pushes the rest of the line to the right. Switch the terminal's ambiguous-width setting to narrow if it has one, and test your layout under that locale before shipping.

  • Use ∥ (U+2225), the math symbol for parallel, as in AB ∥ CD. Math software treats it as a relation between the two lines, and screen readers announce it by that name, while ║ gets read out as a box-drawing piece.

@workani&@alexluthor
Privacy & legal

Privacy

No accounts, no ads, no tracking cookies, and no cross-site tracking. The only analytics we keep are faceless — anonymous, aggregated counts of pages and searches, never tied to you. We store no IP addresses, set no tracking cookies, and build no profiles. Cloudflare hosts the site and handles requests for delivery and security.

Full privacy policy·Extension privacy·legal@asciify.dev

Attributions & licenses

Twemoji
© Twitter, Inc and other contributors · CC-BY 4.0
Noto Color Emoji
© Google · Apache 2.0
Fluent UI Emoji
© Microsoft · MIT
OpenMoji
© HfG Schwäbisch Gmünd · CC-BY-SA 4.0
Toss Face
© Viva Republica (Toss) · SIL OFL 1.1
JoyPixels
© JoyPixels Inc. · Free Limited Use License
SerenityOS Emoji
© The SerenityOS Developers · BSD-2-Clause
EmojiTwo
© EmojiTwo contributors · CC-BY 4.0
Apple Color Emoji
© Apple, Inc.
Facebook Emoji
© Meta Platforms, Inc.

Apple and Facebook emoji styles are proprietary and shown here solely for reference and comparison — a common-sense application of nominative-use / fair-use principles. asciify is not affiliated with, endorsed by, or sponsored by Apple, Inc., Meta Platforms, Inc., or any other rights holder listed above. If a rights holder requests removal of their emoji style from this site, it will be removed.

All other vendor emoji are reproduced for reference and comparison under their respective open licenses listed above.

Character names and code points from the Unicode® Standard. Unicode® and the Unicode Logo are registered trademarks of Unicode, Inc.

Privacy
© asciify.dev 2025-2026