Profilo di Chui-WenChui-Wen Chiu's NoteBlogElenchiGuestbookAltro Strumenti Guida
28/10/2009

中文轉注音

今天看到有人在詢問中文字怎麼反轉成注音,我也蠻好奇的,蒐集了一下資料發現其實沒什麼,就是透過"查表法",那問題是表在哪裡呢?我在網路上找到一個 phone.cin.utf8,他的檔案內容格式如下:

# convert by phoneu8.pl
# data source:
#   big5/phone.cin
#   Unicode 4.0.1 Unihan.txt, kMandarin field
%gen_inp
%ename  phone
%cname  注音
%selkey  123456789
%endkey  3467
%keyname  begin

注音音符

%keyname  end
%chardef  begin

單字拼音
%chardef  end

注音音符的格式為
識別碼  注音

其中分隔符號為 2 個空白。而單次拼音的格式為

拼音\t中文

所以把這兩個地方解析後就可以建立兩個表,然後將你要查的中文字透過單字拼音找到拼音,然後將拼再到注音音符查找就可以得到最終的中文注音。

舉例來說我要查找”邱”的注音,在單字拼音表格中可得到拼音為 “fu.”,然後對照注音音符分別對應出

f => ㄑ
u => ㄧ
. => ㄡ

簡單吧 XD

我也用 Python 寫了一個簡單的轉換程式,可下載 convert.py 回去看完整程式,使用上很簡單如下:

p = phone()
print p.parse(u'邱'),  p.parse(u'垂'), p.parse(u'汶') 

>>>
ㄑㄧㄡ ㄔㄨㄟˊ ㄨㄣˋ

Commenti

Attendere...
Il commento immesso è troppo lungo. Immetti un commento più breve.
Immissione non effettuata. Riprova.
Impossibile aggiungere il commento al momento. Riprova più tardi.
Per aggiungere un commento è necessaria l'autorizzazione di un genitore. Chiedi autorizzazione
I tuoi genitori hanno disattivato i commenti.
Impossibile eliminare il commento al momento. Riprova più tardi.
Hai raggiunto il numero massimo di commenti pubblicabili giornalmente. Riprova tra 24 ore.
Impossibile lasciare commenti. La funzionalità è stata disattivata perché i sistemi hanno rilevato una possibile attività di spamming dal tuo account. Se ritieni che il tuo account è stato disattivato per errore, contatta il supporto tecnico di Windows Live.
Esegui il seguente controllo di protezione per completare la pubblicazione del commento.
I caratteri digitati nel controllo di protezione devono corrispondere ai caratteri dell'immagine o della riproduzione audio.

Per aggiungere un commento, accedi con il tuo Windows Live ID (se utilizzi Hotmail, Messenger o Xbox LIVE possiedi già un Windows Live ID). Accedi


Non hai ancora un Windows Live ID? Registrati

Riferimenti

L'URL di riferimento per questo intervento è:
http://chuiwenchiu.spaces.live.com/blog/cns!CA5D9227DF9E78E8!4620.trak
Blog che fanno riferimento a questo intervento
  • Nessuno