It often happens that you have non-Roman text data in Unicode, but you can't display it -- usually because you're trying to show it to a user via an application that doesn't support Unicode, or because the fonts you need aren't accessible. You could represent the Unicode characters as "???????" or "15BA15A01610...", but that's nearly useless to the user who actually wants to read what the text says.

What Unihandecode provides is a function, 'decode(...)' that takes Unicode data and tries to represent it in ASCII characters (i.e., the universally displayable characters between 0x00 and 0x7F). The representation is almost always an attempt at transliteration -- i.e., conveying, in Roman letters, the pronunciation expressed by the text in some other writing system. (See the example above)

These are same meaning in both language in example above. "明天明天的风吹" for Chinese and "明日は明日の風が吹く" for Japanese. The character "明" is converted "Ming" in Chinese. "明日" is converted "Ashita" but single charactor "明" will be converted "Mei" in Japanese.

This is an improved version of Python unidecode, that is Python port of Text::Unidecode Perl module by Sean M. Burke


Project Slug


Last Built

3 years, 9 months ago passed


Home Page



python, transliterate

Project Privacy Level


Short URLs

Default Version


'latest' Version