You need: 
 - python >=2.2 (generators are needed), preferrably wide
   unicode build, 
 - python optparse library (part of python2.3)
 - UnicodeData.txt file (http://www.unicode.org/Public) which
   you should put into /usr/share/unicode/ or current working directory.


Enter regular expression or hexadecimal number as an argument.
Not much documentation at the moment, here are just some examples
how to use this script:

$ unicode.py euro
U+20A0 EURO-CURRENCY SIGN
UTF-8: e2 82 a0   UTF-16BE: 20a0   Decimal: &#8352;
₠
Category: Sc (Symbol, Currency)
Bidi: ET (European Number Terminator)

U+20AC EURO SIGN
UTF-8: e2 82 ac   UTF-16BE: 20ac   Decimal: &#8364;
€
Category: Sc (Symbol, Currency)
Bidi: ET (European Number Terminator)

$ unicode.py  00c0
U+00C0 LATIN CAPITAL LETTER A WITH GRAVE
UTF-8: c3 80   UTF-16BE: 00c0   Decimal: &#192;
À (à)
Lowercase: U+00E0
Category: Lu (Letter, Uppercase)
Bidi: L (Left-to-Right)
Decomposition: 0041 0300


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
