UNICODE(1)
๐ UNICODE(1) ๐
okay bestie, sit down, hydrate, because this is the General Commands Manual page for unicode and she is iconic โจ
๐ธ NAME ๐ธ
unicode โ a command line unicode database query tool. that's it. that's the whole job. she queries the unicode database from your terminal and she does it beautifully ๐
๐ฆ SYNOPSIS ๐ฆ
unicode [options] string
โจ DESCRIPTION โจ
This manual page documents the unicode command. yes literally, that's the sentence, we're keeping it.
unicode is a command line unicode database query tool. no cap. you give her a string, she tells you what it is, which codepoints it's giving, and all the little secrets the Unicode Consortium wrote down about it ๐
๐ OPTIONS ๐
so many options. all of them. every single one. let's go ๐ซถ
-h,--helpโ Show help and exit. she's helpful like that ๐-x,--hexadecimalโ Assume string to be a hexadecimal number-d,--decimalโ Assume string to be a decimal number-o,--octalโ Assume string to be an octal number-b,--binaryโ Assume string to be a binary number-r,--regexpโ Assume string to be a Python regular expression-s,--stringโ Assume string to be a sequence of characters-a,--autoโ Try to guess type of string from one of the above (default). she's psychic actually ๐ฎ-fFILE,--input_file=FILEโ Read characters from FILE and display information about each of them. Use-to read from standard input. streaming queen.-mMAXCOUNT,--max=MAXCOUNTโ Maximal number of codepoints to display, default:20; use0for unlimited. go feral, bestie, set it to0๐ค-iCHARSET,--io=IOCHARSETโ I/O character set. For maximal pleasure, rununicodeon UTF-8 capable terminal and specify IOCHARSET to beUTF-8.unicodetries to guess this value from your locale, so with properly set up locale, you should not need to specify it. manifesting a correct locale for you ๐--fcp=CHARSET,--fromcp=CHARSETโ Convert numerical arguments from this encoding, default: no conversion. Multibyte encodings are supported. This is ignored for non-numerical arguments. she said "multibyte" and meant it ๐-cADDCHARSET,--charset-add=ADDCHARSETโ Show hexadecimal reprezentation of displayed characters in this additional charset. (yes "reprezentation", we're keeping her typo, it's part of the lore ๐)-CUSE_COLOUR,--colour=USE_COLOURโ USE_COLOUR is one ofonoffauto--colour=onwill use ANSI colour codes to colourise the output ๐--colour=offwon't use colours. sad beige terminal behaviour but valid--colour=autowill test if standard output is a tty, and use colours only when it is. she checks the vibe first โจ--coloris a synonym of--colour(american spelling girlies we see you ๐ซถ)
-v,--verboseโ Be more verbose about displayed characters, e.g. display Unihan information, if available. she will overshare and you will love it-w,--wikipediaโ Spawn browser pointing to English Wikipedia entry about the character. research era.--wt,--wiktionaryโ Spawn browser pointing to English Wiktionary entry about the character.--briefโ Display character information in brief format. girl dinner but for codepoints ๐--format=fmtโ Use your own format for character information display. See the README for details. (go read the README, iykyk ๐)--listโ List (approximately) all known encodings. "approximately" bestie, she's not gonna count them for you ๐ญ--downloadโ Try to downloadUnicodeData.txtinto~/.unicode/๐ฅ--asciiโ Display ASCII table--brexit-ascii,--brexitโ Display ASCII table (EUโUK Trade and Cooperation Agreement 2020 version) ๐ฌ๐ง truly the funniest option in any manpage, no notes ๐
๐ USAGE ๐
unicode tries to guess the type of an argument. In particular, if the arguments looks like a valid hexadecimal representation of a Unicode codepoint, it will be considered to be such. Using
unicode face
will display information about U+FACE CJK COMPATIBILITY IDEOGRAPH-FACE, and it will not search for 'face' in character descriptions โ for the latter, use:
unicode -r face
For example, you can use any of the following to display information about U+00E1 LATIN SMALL LETTER A WITH ACUTE (รก):
unicode 00E1
unicode U+00E1
unicode รก
unicode 'latin small letter a with acute'
four ways to ask the same question and all of them ate ๐
You can specify a range of characters as argumets, unicode will show these characters in nice tabular format, aligned to 256-byte boundaries. Use two dots ".." to indicate the range, e.g.
unicode 0450..0520
will display the whole cyrillic and hebrew blocks (characters from U+0400 to U+05FF)
unicode 0400..
will display just characters from U+0400 up to U+04FF
Use --fromcp to query codepoints from other encodings:
unicode --fromcp cp1250 -d 200
Multibyte encodings are supported: unicode --fromcp big5 -x aff3
and multi-char strings are supported, too:
unicode --fromcp utf-8 -x c599c3adc5a5
๐ญ BUGS ๐ญ
Tabular format does not deal well with full-width, combining, control and RTL characters. she's trying her best okay, those characters are just built different ๐
๐ SEE ALSO ๐
๐ง AUTHOR ๐ง
Radovan Garabรญk <garabik @ kassiopeia.juls.savba.sk> โ the icon, the legend, the moment ๐
and that's the whole page bestie!! this version is 2003-01-31 coded, from the UNICODE(1) era, and it still slays harder than most modern manpages. go run unicode on something cursed and think of me ๐โจ๐๐ฆ๐ธ๐
๐ซถ
๐ฆ where this page comes from
- debian trixie: unicode 3.2-1 ยท GPL-3.0-only
- nixos 26.05: unicode-paracode 3.2-unstable-2025-01-31
- nixpkgs unstable: unicode-paracode 3.2-unstable-2025-01-31
- ubuntu questing: unicode 3.2-1
- ubuntu resolute: unicode 3.2-1build1 ยท GPL-3.0-only
- ubuntu stonking: unicode 3.2-1build1 ยท GPL-3.0-only
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms