本ページには広告が含まれています。
入力した文字列をバビ語に符号化・復号します。入力された文字列のひらがな・カタカナの部分をバビ語に変換し、それ以外の文字・記号などは変換しません。
- 構文
- UString = Babigo.encode( str )
- UString = Babigo.decode( str )
- UString = Babigo.encode( str )
- 引数
- str 必須
- encode
- バビ語に符号化する文字列
- decode
- バビ語から復号する文字列
- 戻り値
- 符号化・復号した文字列
プログラム
解説
- 2行目
- 日本語とバビ語を変換させるための連想配列。キーに文字を指定すると対応するバビ語に変換された文字列を返します。
- 3-19行目
- コンストラクタ。ひらがな・カタカナの文字とバビ語に対応した連想配列を作成します。arrayの二次元目が0の要素をカンマで分割しそれをキー、キーと二次元目が1の文字を結合した文字列を値として格納します。
- 20,40行目
- 符号化処理を行います。
- 25行目
- 符号化した結果を代入しておく変数resを宣言。
- 26行目
- 27,38行目
- 先頭の文字から順番にバビ語の符号化処理を行う。
- 28行目
- strの2文字目をsに代入。
- 29行目
- sがboinかyoonの配列のいずれかの文字に一致したら2,一致しなければ1をlenに代入。
- 30行目
- strの先頭からlen文字だけtmpに代入。
- 32行目
- tmpの文字が連想配列に存在すればその値を取得、存在しなければtmpをそのままresに結合。
- 34行目
- tmpの1文字目はそのまま、tmpの2文字目をバビ語に変換する。例えばtmpが「きゃ」ならば「き」はそのまま「ゃ」にバビ語で「ゃば」に変換し「きゃば」として返す。
- 41,63行目
- 復号処理を行います。
- 46行目
- 復号した結果を代入しておく変数resを宣言。
- 47,61行目
- 先頭の文字から順番にバビ語の復号処理を行う。
- 48行目
- strの先頭から1文字をtmpに代入する。
- 49行目
- strの2文字目をsに代入する。
- 50-58行目
- sがbに含まれていたら、startに3、sがboinまたはyoonに含まれていたらstartに4、tmpがsokuonに含まれているもしくはいずれの条件にも一致しなければ、startに2を代入する。
- 59行目
- バビ語からば行を除いた文字列を取得、結合する。
- 60行目
- 処理が終了した文字列を削除する。
バビ語とは
バビ語とは入れ詞の一種です。ルールは簡単で各文字の間に「ばびぶべぼ」を入れ、付け足す音は直前の母音と揃えるだけです。
- 「ありがとう」→「あばりびがばとぼうぶ」
- 「おはよう」→「おぼはばよぼうぶ」
より詳しく説明すると以下のような条件があります。
- 撥音(ん)の後は「ぶ」を付ける。
- 促音(っ)の後は何も付けない。
- 拗音(きゃ、きゅ、きょ等)は直前の言葉とセットにして、拗音の母音に対応するば行の文字を付ける。
- 長音(ー)の後は直前の言葉の母音。
- 「こんにちは」→「こぼんぶにびちびはば」
- 「きって」→「きびってべ」
- 「きょう」→「きょぼうぶ」
- 「らーめん」→「らばーばめべんぶ」
一覧表
上段のバビ語変換前の文字、下段がバビ語変換後の文字列です。バビ語で追加された"ば行"の文字を色付けしています。
| あ段 | い段 | う段 | え段 | お段 | |
|---|---|---|---|---|---|
| あ行 | あ | い | う | え | お |
| あば | いび | うぶ | えべ | おぼ | |
| か行 | か | き | く | け | こ |
| かば | きび | くぶ | けべ | こぼ | |
| さ行 | さ | し | す | せ | そ |
| さば | しび | すぶ | せべ | そぼ | |
| た行 | た | ち | つ | て | と |
| たば | ちび | つぶ | てべ | とぼ | |
| な行 | な | に | ぬ | ね | の |
| なば | にび | ぬぶ | ねべ | のぼ | |
| は行 | は | ひ | ふ | へ | ほ |
| はば | ひび | ふぶ | へべ | ほぼ | |
| ま行 | ま | み | む | め | も |
| まば | みび | むぶ | めべ | もぼ | |
| や行 | や | ゆ | よ | ||
| やば | ゆぶ | よぼ | |||
| ら行 | ら | り | る | れ | ろ |
| らば | りび | るぶ | れべ | ろぼ | |
| わ行 | わ | を | |||
| わば | をぼ | ||||
| が行 | が | ぎ | ぐ | げ | ご |
| がば | ぎび | ぐぶ | げべ | ごぼ | |
| ざ行 | ざ | じ | ず | ぜ | ぞ |
| ざば | じび | ずぶ | ぜべ | ぞぼ | |
| だ行 | だ | ぢ | づ | で | ど |
| だば | ぢび | づぶ | でべ | どぼ | |
| ば行 | ば | び | ぶ | べ | ぼ |
| ばば | びび | ぶぶ | べべ | ぼぼ | |
| ぱ行 | ぱ | ぴ | ぷ | ぺ | ぽ |
| ぱば | ぴび | ぷぶ | ぺべ | ぽぼ | |
| ○ぁ行 | ○ぁ | ○ぃ | ○ぅ | ○ぇ | ○ぉ |
| ○ぁば | ○ぃび | ○ぅぶ | ○ぇべ | ○ぉぼ | |
| ○ゃ行 | ○ゃ | ○ゅ | ○ょ | ||
| ○ゃば | ○ゅぶ | ○ょぼ |
使い方
ひらがな・カタカナ以外の文字はそのまま出力されます。
以下はhttps://www.hinatazaka46.com/s/official/diary/detail/27193?ima=0000&cd=memberより引用させて頂きました。
- 結果
