A fast converter between Japanese hankaku and zenkaku characters
Project Links
Meta
Author: Studio Ousia
Requires Python: >=3.7
Classifiers
Development Status
- 4 - Beta
Intended Audience
- Developers
Natural Language
- Japanese
License
- OSI Approved :: Apache Software License
Programming Language
- Python
- Python :: 3
- Python :: 3.7
- Python :: 3.8
- Python :: 3.9
- Python :: 3.10
- Python :: 3.11
- Python :: 3.12
A Cython-based fast converter between Japanese hankaku and zenkaku characters.
Installation
$ pip install mojimoji
Examples
Zenkaku to Hankaku
>>> import mojimoji
>>> print(mojimoji.zen_to_han('アイウabc012'))
アイウabc012
>>> print(mojimoji.zen_to_han('アイウabc012', kana=False))
アイウabc012
>>> print(mojimoji.zen_to_han('アイウabc012', digit=False))
アイウabc012
>>> print(mojimoji.zen_to_han('アイウabc012', ascii=False))
アイウabc012
Hankaku to Zenkaku
>>> import mojimoji
>>> print(mojimoji.han_to_zen('アイウabc012'))
アイウabc012
>>> print(mojimoji.han_to_zen('アイウabc012', kana=False))
アイウabc012
>>> print(mojimoji.han_to_zen('アイウabc012', digit=False))
アイウabc012
>>> print(mojimoji.han_to_zen('アイウabc012', ascii=False))
アイウabc012
Benchmarks
Library versions
mojimoji: 0.0.1
zenhan: 0.4
unicodedata: Bundled with Python 2.7.3
Results
In [19]: s = 'ABCDEFG012345' * 10
In [20]: %time for n in range(1000000): mojimoji.zen_to_han(s)
CPU times: user 2.86 s, sys: 0.10 s, total: 2.97 s
Wall time: 2.88 s
In [21]: %time for n in range(1000000): unicodedata.normalize('NFKC', s)
CPU times: user 5.43 s, sys: 0.12 s, total: 5.55 s
Wall time: 5.44 s
In [22]: %time for n in range(1000000): zenhan.z2h(s)
CPU times: user 69.18 s, sys: 0.11 s, total: 69.29 s
Wall time: 69.48 s
Links
mojimoji-rs: The Rust implementation of mojimoji
gomojimoji: The Go implementation of mojimoji
0.0.13
Jan 12, 2024
0.0.13b1
Jan 12, 2024
0.0.12
Nov 15, 2021
0.0.11
May 16, 2020
0.0.10
Apr 07, 2020
0.0.10.dev1
Apr 07, 2020
0.0.10.dev0
Apr 07, 2020
0.0.9.post0
Feb 15, 2019
0.0.9
0.0.8
Apr 19, 2018
0.0.7
Mar 04, 2018
0.0.6
Oct 18, 2017
0.0.5
Jan 18, 2016
0.0.4
Jan 01, 2015
0.0.3
Oct 10, 2014
0.0.2
Mar 07, 2014
0.0.1
Nov 02, 2013
Wheel compatibility matrix
Files in release
mojimoji-0.0.13-cp310-cp310-macosx_10_9_x86_64.whl (51.1KiB)
mojimoji-0.0.13-cp310-cp310-macosx_11_0_arm64.whl (47.4KiB)
mojimoji-0.0.13-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (183.9KiB)
mojimoji-0.0.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (187.9KiB)
mojimoji-0.0.13-cp310-cp310-win32.whl (38.9KiB)
mojimoji-0.0.13-cp310-cp310-win_amd64.whl (42.7KiB)
mojimoji-0.0.13-cp311-cp311-macosx_10_9_x86_64.whl (51.3KiB)
mojimoji-0.0.13-cp311-cp311-macosx_11_0_arm64.whl (47.3KiB)
mojimoji-0.0.13-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (196.6KiB)
mojimoji-0.0.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (200.9KiB)
mojimoji-0.0.13-cp311-cp311-win32.whl (39.0KiB)
mojimoji-0.0.13-cp311-cp311-win_amd64.whl (42.9KiB)
mojimoji-0.0.13-cp312-cp312-macosx_10_9_x86_64.whl (48.4KiB)
mojimoji-0.0.13-cp312-cp312-macosx_11_0_arm64.whl (45.6KiB)
mojimoji-0.0.13-cp312-cp312-manylinux_2_17_i686.manylinux2014_i686.whl (199.6KiB)
mojimoji-0.0.13-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (206.3KiB)
mojimoji-0.0.13-cp312-cp312-win32.whl (37.7KiB)
mojimoji-0.0.13-cp312-cp312-win_amd64.whl (41.3KiB)
mojimoji-0.0.13-cp37-cp37m-macosx_10_9_x86_64.whl (50.2KiB)
mojimoji-0.0.13-cp37-cp37m-manylinux_2_17_i686.manylinux2014_i686.whl (173.3KiB)
mojimoji-0.0.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (176.8KiB)
mojimoji-0.0.13-cp37-cp37m-win32.whl (38.3KiB)
mojimoji-0.0.13-cp37-cp37m-win_amd64.whl (41.8KiB)
mojimoji-0.0.13-cp38-cp38-macosx_10_9_x86_64.whl (51.2KiB)
mojimoji-0.0.13-cp38-cp38-macosx_11_0_arm64.whl (47.4KiB)
mojimoji-0.0.13-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (183.6KiB)
mojimoji-0.0.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (187.3KiB)
mojimoji-0.0.13-cp38-cp38-win32.whl (38.9KiB)
mojimoji-0.0.13-cp38-cp38-win_amd64.whl (42.8KiB)
mojimoji-0.0.13-cp39-cp39-macosx_10_9_x86_64.whl (51.1KiB)
mojimoji-0.0.13-cp39-cp39-macosx_11_0_arm64.whl (47.4KiB)
mojimoji-0.0.13-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (183.7KiB)
mojimoji-0.0.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (187.6KiB)
mojimoji-0.0.13-cp39-cp39-win32.whl (38.9KiB)
mojimoji-0.0.13-cp39-cp39-win_amd64.whl (42.7KiB)
mojimoji-0.0.13.tar.gz (4.9KiB)
No dependencies