[2] 平仮名と片仮名の変換はあまりに自明であるためか明確に定めたものはあまり見当たりません。
[3] 次のものは、変換そのものではありませんが、それに近いものを定めています。
[1] JIS X 4061:1996 表11 仮名の基底文字 は、 あからんまで (ゐ、ゑを含む。) の清音、 がからぼまでの濁音、 ぱ行の半濁音、 ぁ行、 ゃ行、 っ、ゎ、 ゝ、ゞと以上に相当する片仮名、 ヴ、ヵ、ヶ、ーの各文字について、 それに相当する基底文字を定めています。 相当する平仮名の大書きの清音、 ゝ、ーが基底文字として選ばれています。
[10] 日本語利用者にとってあまりに自明で基本的な操作であるにも関わらず、 ラテン文字の大文字と小文字の変換のようにプログラミング言語の機能として組み込まれていることは、 それほどありません。
[11] かわりにプログラミング言語のライブラリーや Webサイトの機能として、 変換機能が用意されていることがあります。 日本語に対応したエディターに利用者が指定した範囲を変換するような機能が実装されていることもあります。
[12] 日本語入力システムは平仮名の入力と片仮名の入力ができなければならないため、 入力中の文字列を両者のいずれにするかを選べる機能が備わっています。
[13] ほとんどの実装が基本的な挙動は共通していますが、稀に使われる文字の扱いなどで細部が異なっていることもあります。
[19]
片仮名には通常のものと半角片仮名がありますが、
平仮名にはありません。
半角片仮名は古い実装の制約など互換性のために使われることがありますが、
通常の片仮名と区別して用いるのは一般的とは言えませんから、
通常の平仮名に統一して変換してしまう方が便利でしょう。
小書き仮名の代用や片言の表記など敢えて区別する用法もないことはありませんが
(
[20] 長音の「ー」は日本語の教材などで片仮名の文字として扱われ、 平仮名で表すときは直前の母音にする、 といった指導がなされる場合があります。 しかし一般的な日本語では「ー」が平仮名表記でも使われることがあり、 「ー」は平仮名と片仮名で共通の文字と認識されていることが多いと思われます。 「ー」から母音への置き換えは平仮名と片仮名の変換の範疇を超えており、 往復変換が困難になりますから、 汎用の変換では「ー」のまま残すのが好ましいでしょう。
[17] わ行の濁音 https://chars.suikawiki.org/set?expr=%5B%E3%83%B7%E3%83%B8%E3%83%B9%E3%83%BA%5D は、なぜか片仮名しかありません。 平仮名は清音と結合文字の濁点の組み合わせで表すしかありません。 片仮名に再変換すると (結合しない限り) 元通りに戻りませんが、仕方ありません。
[24] 濁点や半濁点として、 単体のもの、 半角片仮名のもの、 結合文字で合計6文字あります。 いずれも単体で Unicode に含まれない濁音や半濁音の表現に用いられる他、 NFC になっていない文字列や半角片仮名のデータ、 何らかの意図での書き分けのような理由で単体で Unicode に含まれる濁音や半濁音であっても出現する可能性があります。 平仮名と片仮名の変換ではこれらは無処理でそのまま残すのが最も簡単で、 適切と思われます。変換結果が NFC とは限らなくなりますが、 やむを得ません。必要があれば前処理や後処理で (>>17 より後処理が適切か)、 合成するべきでしょう。
[16] 小書き仮名 https://chars.suikawiki.org/set/%24kana%3Akana-small のほとんどは、なぜか片仮名しか用意されていません。 無理に大書きの平仮名に置き換えると情報が失われてしまいますから、 平仮名への変換でも片仮名のまま残すほかありません。
[18] 合略仮名のほとんどは平仮名と片仮名のどちらかしかありません。 (あっても Unicode に含まれなかったりします。) 同音の仮名に分解することもできなくないですが、 情報が失われてしまいますから、 元のままとするべきでしょう。 応用により分解してでも変換することが望ましければ、 予め分解してから変換するのがよいと思われます。
[21] 「𛀀」の平仮名は「え」で、往復変換できませんが、仕方ありません。
[22] 変体仮名は平仮名の異体字で、相当する片仮名に変換すると元の変体仮名に往復変換できませんが、 仕方ありません。
[23] いくつかの変体仮名は複数の音価があり、 どの片仮名に変換するか文脈なしに定められません。 文脈から音価を判断するのは平仮名と片仮名の変換の範疇を超えているので、 変換せずそのまま残すほかありません。
[30] 仮名の異体字の代用表記として相当する漢字を使うことがあります。 万葉仮名はそもそも漢字を使うものです。 平仮名へ、片仮名へといった変換ではこれらも変換されることが理想的ですが、 通常の漢字の用法と区別できないため 単純な平仮名と片仮名の変換ではそのまま残すべきでしょう。
[25] 「㆑」 (レ点) は漢文専用なので、 変換せずそのまま残すべきでしょう。
[26] 「㋐」 などの丸付き仮名は片仮名しかなく、 記号的に用いられるものですから、 変換せずそのまま残すべきでしょう。
[27] 「㌀」 などの組み文字は片仮名のみまたは平仮名のみしかなく、 変換するとしたら分解する必要があります。 古い実装との互換性のためのもので、利用される場面は限られますから、 変換せずにそのまま残し、 応用によって必要なら予め分解しておくべきでしょう。