#日本語 #カタカナ #ひらがな #漢字 #アルファベット #文字 #ローマ字

bin+lib kakasi

ひらがな、カタカナ、漢字(日本語のテキスト)をローマ字(ラテン/ローマンアルファベット)に変換する

1 稳定リリース

0.1.0 2022年11月28日

#1345 in テキスト処理

Download history • Rust 包仓库 233/week @ 2024-03-13 • Rust 包仓库 273/week @ 2024-03-20 • Rust 包仓库 213/week @ 2024-03-27 • Rust 包仓库 364/week @ 2024-04-03 • Rust 包仓库 122/week @ 2024-04-10 • Rust 包仓库 101/week @ 2024-04-17 • Rust 包仓库 160/week @ 2024-04-24 • Rust 包仓库 112/week @ 2024-05-01 • Rust 包仓库 339/week @ 2024-05-08 • Rust 包仓库 205/week @ 2024-05-15 • Rust 包仓库 83/week @ 2024-05-22 • Rust 包仓库 110/week @ 2024-05-29 • Rust 包仓库 143/week @ 2024-06-05 • Rust 包仓库 185/week @ 2024-06-12 • Rust 包仓库 265/week @ 2024-06-19 • Rust 包仓库 302/week @ 2024-06-26 • Rust 包仓库

918 件のダウンロード/月

GPL-3.0 ライセンス

1MB
2K SLoC

kakasi

crates.io docs.rs licence

kakasiは、ひらがなカタカナ、および漢字(日本語のテキスト)をローマ字(ラテン/ローマンアルファベット)に変換するRustライブラリです。

これは、Cで書かれた元のkakasiライブラリをPythonでポートしたpykakasiライブラリからポートされています。

使用方法

変換

let res = kakasi::convert("こんにちは世界!");
assert_eq!(res.hiragana, "こんにちはせかい!");
assert_eq!(res.romaji, "konnichiha sekai!");

文字列に日本語文字が含まれているか確認する

use kakasi::IsJapanese;

assert_eq!(kakasi::is_japanese("Abc"), IsJapanese::False);
assert_eq!(kakasi::is_japanese("日本"), IsJapanese::Maybe);
assert_eq!(kakasi::is_japanese("ラスト"), IsJapanese::True);

CLI

$ cargo install kakasi

## Convert to romaji
$ kakasi こんにちは世界!
konnichiha sekai!

## Convert to hiragana
$ kakasi -k こんにちは世界!
こんにちはせかい!

## Read from file
$ kakasi -f rust_article.txt

## Read from STDIN
$ echo "こんにちは世界!" | kakasi

パフォーマンス

CPU: AMD Ryzen 7 5700G

テキスト 変換時間 スピード
文(161 B) 7.0911 µs 22.70 MB/s
Rustウィキペディア記事(31705 B) 1.5055 ms 21.06 MB/s

CLI比較

100KBのテストファイルをCLIで変換するまでの時間

ライブラリ 時間 スピード
kakasi (Rust) 7.4 ms 13.5 MB/s
kakasi (C) 33.5 ms 2.99 MB/s
pykakasi (Python) 810.6 ms 0.123 MB/s

テストコマンド

CLIのパフォーマンスはhyperfineで測定されました。

hyperfine --warmup 3 'cat 100K.txt | kakasi-rs'
hyperfine --warmup 3 'cat 100K.txt | kakasi -i utf-8 -Ka -Ha -Ja -Sa -s'
hyperfine --warmup 3 'cat 100K.txt | python bin/kakasi -Ka -Ha -Ja -Sa -s'

ライセンス

kakasiは、GNU GPL-3.0ライセンスで公開されています。

Kakasi辞書(ファイル:codegen/dict/kakasidict.utf8codegen/dict/itajidict.utf8codegen/dict/hepburn.utf8)は、GNU GPL-3.0ライセンスで公開されているpykakasiプロジェクトから取得されています。

pykakasi

著作権(C)2010-2021 Hiroshi Miuraおよび貢献者(AUTHORSを参照)

辞書は、GNU GPL-2.0ライセンスで公開されているkakasiプロジェクトから起源を持ちます。

オリジナルのkakasi

著作権(C)1992 1993 1994
Hironobu Takahashi (takahasi@tiny.or.jp),
Masahiko Sato (masahiko@sato.riec.tohoku.ac.jp),
Yukiyoshi Kameyama、Miki Inooka、Akihiko Sasaki、Dai Ando、Junichi Okukawa、
Katsushi SatoおよびNobuhiro Yamagishi

为了测试,我包含了一份日文Rust维基百科文章的副本(tests/rust_article.txt)。该文章在Creative Commons Attribution-ShareAlike License 3.0许可下发布。

依赖项