文字ケース一括コンバーター

大文字・小文字,camel・snake・kebab,全角・半角,ひらがな・カタカナなど,入力から計11種類の結果を同時に表示します.命名形式での日本語と英数字の区切りも確認できます.

読み込み中...

ZeroToolsのブラウザ内処理とプライバシー

ZeroToolsは,入力内容を端末内で処理するツールを中心に提供しています.各ツールの対応範囲と制限を確認して利用してください.

データの取り扱い・プライバシー方針
第1章

一つの入力から比較できる11種類の変換結果

文字ケース一括コンバーターは,入力欄の文字列から11種類の結果を同時に作ります.表示するのは,UPPERCASE,lowercase,Title Case,Sentence case,camelCase,snake_case,kebab-case,全角,半角,ひらがな,カタカナです.

元の形式を自動判定して一つの正解へ変換するのではなく,同じ入力へ異なる規則を適用した結果を並べます.用途に合う結果を利用者が比較して選ぶ仕組みです.

入力中は各変換関数を現在の文字列へ適用し,その結果をカードに表示します.変換モードを切り替える操作はありません.例えばサンプルボタンを押すと,英字,アンダースコア,ピリオド,半角カタカナ,ひらがなが混じった例文が入力されます.UPPERCASEでは大文字小文字の対応がある文字を大文字へ,全角ではASCII英数記号と半角カタカナを対応する全角文字へ,カタカナでは基本範囲のひらがなをカタカナへ変えた結果を確認できます.

それぞれは独立した出力なので,全角化してからカタカナ化するような連続処理ではありません.

入力を消すと結果カードは非表示になり,サンプルまたは新しい入力からやり直せます.クリアボタンは入力が空のとき無効です.結果欄は改行を保ち,長い結果はカード内をスクロールして確認できます.ただし,処理量の上限や一定の応答時間を保証する機能ではありません.長い文章では11種類を画面描画のたびに計算するため,端末やブラウザによって表示に時間がかかる場合があります.

この構成の利点は,変数名用の形式と,日本語表記用の文字幅・かな変換を一つの画面で見比べられることです.一方で,11種類を順番に組み合わせる一括パイプラインではありません.全角カタカナを半角へ変えた後,その結果をsnake_caseへ変えたい場合は,半角結果をコピーして入力欄へ入れ直し,次の結果を確認します.

第2章

UPPERCASE,lowercase,Title Case,Sentence caseの規則

UPPERCASEとlowercaseは,JavaScript標準の大文字・小文字変換を入力全体へ適用します.英字だけに限定した独自表ではなく,Unicode上で大文字小文字の対応がある文字はブラウザのJavaScript実装に従って変わります.日本語の漢字・ひらがな・カタカナや数字など,対応する大小関係がない文字は通常そのまま残ります.

言語固有の表記ルールを選ぶ設定はなく,固有名詞の正しい綴りを判断する機能でもありません.

Title Caseは,Unicodeの文字または数字から始まり,後ろに文字・結合記号・数字が続くまとまりを一語として扱います.各まとまりの先頭を大文字化し,残りを小文字化します.「hELLO 日本語 wORLD」は「Hello 日本語 World」になります.

空白だけでなく句読点などもまとまりの境界になりますが,英語の冠詞や前置詞を例外として小文字にする出版物向けのスタイル規則はありません.McDonald,iPhone,APIのように途中の大文字が意味を持つ語も機械的に小文字化されます.

Sentence caseは,まず入力全体を小文字化し,文字列の先頭と,ピリオド,感嘆符,疑問符,日本語の句点,全角感嘆符,全角疑問符の後に現れる最初のUnicode文字を大文字化します.「hELLO WORLD.nEXT SENTENCE! ok」は「Hello world.Next sentence! Ok」になります.区切り記号の後に空白がなくても対象になります.

この処理は文法解析ではありません.省略記号,引用符,改行,固有名詞,略語を意味から識別しません.ピリオドが小数点や略語の一部であっても同じ規則で扱われます.元の大文字情報を保存したまま一部だけ直す機能でもないため,正式名称を含む文章では出力を読み直してから利用してください.

第3章

camelCase,snake_case,kebab-caseの単語分割

三つの命名形式では,まず入力を単語候補へ分けます.ASCII小文字または数字の直後にASCII大文字が続く位置を境界にするため,「user1Name」は「user1」と「Name」に分かれます.連続するASCII大文字の後に,大文字一文字と小文字が続く位置も境界にします.

そのため「XMLHttpRequest」は「XML」「Http」「Request」と分かれ,camelCaseでは「xmlHttpRequest」になります.

空白,ハイフン,アンダースコア,句読点,絵文字など,Unicodeの文字と数字以外の並びも区切りになります.分割後はUnicodeの文字と数字だけを単語候補として残します.「hello😀world.example」は,camelCaseで「helloWorldExample」,snake_caseで「hello_world_example」,kebab-caseで「hello-world-example」です.

句読点や絵文字を保持したまま大文字小文字だけを変える処理ではありません.

日本語とASCII英数字の境界も区切ります.対象には漢字,ひらがな,カタカナのScript Extensionsを使うため,長音記号を含む「ユーザーname設定」は「ユーザー」「name」「設定」に分かれます.camelCaseは「ユーザーName設定」,snake_caseは「ユーザー_name_設定」,kebab-caseは「ユーザー-name-設定」になります.

「日本語Text」はそれぞれ「日本語Text」「日本語_text」「日本語-text」です.従来のように日本語部分を削除しません.

camelCaseは最初の単語を小文字化し,二語目以降は先頭を大文字,残りを小文字にして区切りなしで結合します.snake_caseとkebab-caseは各単語を小文字化し,アンダースコアまたはハイフンで結合します.日本語には大小文字がないため,その部分は大文字小文字操作では変わりません.

この分割は入力の意味や既知の略語を参照しません.「XMLHTTPRequest」をXML,HTTP,Requestの三語だと辞書で推論する機能はなく,文字の並びから決まる境界だけを使います.PascalCase,CONSTANT_CASE,BEM,ファイル名の拡張子保護も独立した出力としては用意していません.コードへ貼り付ける前に,利用する言語やプロジェクトの識別子規則を確認してください.

第4章

全角・半角変換と濁点・半濁点の扱い

全角変換では,まずU+FF61からU+FF9Fの半角カタカナと半角句読点の連続部分をUnicode NFKCで正規化します.「レ」は「レ」,「ァ」は「ァ」,「ガ」は「ガ」,「パ」は「パ」,「。「」・」は「.「」・」になります.半角カナ本体と濁点・半濁点が二文字で入力されている場合,対応する一文字の全角カナへまとまります.

その後,ASCIIの感嘆符からチルダまでを対応する全角英数記号へ移し,半角スペースを全角スペースへ変えます.

半角変換では,半角カタカナ範囲から作成した対応表を逆向きに使います.「レ」は「レ」,「ァ」は「ァ」,「ガ」は「ガ」,「パ」は「パ」になります.濁点付きの全角一文字は,半角カナ本体と半角濁点の二文字になるため,変換後のJavaScript文字数が増える場合があります.

対応する全角句読点も半角へ変換します.続いてU+FF01からU+FF5Eの全角ASCII英数記号を半角へ戻し,全角スペースを半角スペースへ変えます.

全角・半角という名称は,Unicodeに存在するあらゆる文字の表示幅を測定し,見た目を必ず同じ幅へそろえるという意味ではありません.変換対象はコードで定めたASCII範囲,空白,半角カタカナ範囲と,その範囲から得られる対応文字です.対応する半角文字を持たないカタカナ拡張文字,漢字,ひらがな,絵文字などはそのまま残ります.フォントによる実際の表示幅もこのツールでは測りません.

NFKCは半角カナ部分に限定して使い,入力全体を一括正規化してはいません.それでも文字幅の変換は元のコードポイント列を変更します.検索キーや署名対象の文字列,識別子など,1文字単位の一致が必要なデータへ使う場合は,変換前後を比較し,用途側が要求する正規化規則と一致するかを確認してください.

第5章

ひらがな・カタカナ変換とコピー操作

ひらがな変換はU+30A1からU+30F6の全角カタカナを,対応する基本ひらがなへ移します.カタカナ変換はU+3041からU+3096の基本ひらがなを全角カタカナへ移します.「カタカナ・漢字」は「かたかな・漢字」,「ひらがな・漢字」は「ヒラガナ・漢字」になります.中点,漢字,英数字など,対象範囲外の文字はそのままです.

このかな変換は,文字コード上で対応する基本文字を置き換える処理です.漢字の読みを推定してふりがなへ変える機能,ローマ字入力をかなへ変える機能,送り仮名や発音を判断する機能ではありません.半角カタカナもかな変換の対象外なので,半角の「カタカナ」をひらがなへ変えたい場合は,まず全角結果を入力欄へ入れ直し,その後ひらがな結果を使います.

各結果カードにはコピーボタンがあります.ボタンを押すと,そのカードの文字列をClipboard APIで端末のクリップボードへ書き込みます.Promiseが成功した後だけチェックマークを表示し,約2秒後に通常のコピーアイコンへ戻します.クリック直後に無条件で成功扱いにはしません.

ブラウザがClipboard APIを提供していない場合,権限や実行環境によって書き込みが拒否された場合は,コピー失敗の案内を表示します.不可視の入力欄を作る自動フォールバックはありません.結果欄は文字列を選択できるため,案内に従って選択し,OSやブラウザの通常のコピー操作を使います.コピーに成功した内容は端末のクリップボードに残る場合があり,消去時刻はこのページでは制御しません.

第6章

実務で確認したい非対応範囲と入力データの扱い

変換関数は,このページのReact状態にある入力文字列を読み,ブラウザ内で新しい文字列を作ります.変換のためのAPI送信やデータベース保存処理は実装していません.ただし,ページそのものの読み込み,サイト共通機能,広告,ブラウザ拡張機能などによる通信まで存在しないという意味ではありません.機密情報を扱うかは,利用端末,ブラウザ,導入済み拡張機能,クリップボードの扱いを含めて判断してください.

出力は機械的な文字規則の結果であり,文章校正やコード解析の結果ではありません.Title Caseは出版物の表記規則を選べず,Sentence caseは固有名詞や略語を復元しません.命名形式は記号や絵文字を区切りとして除去し,言語仕様の予約語,識別子の先頭数字,使用可能文字を検査しません.全角・半角は限定した対応範囲だけ,かな変換は基本文字範囲だけです.

例えばAPIレスポンスの全キーをまとめて書き換える機能や,ソースコード中の変数参照を安全にリファクタリングする機能はありません.この画面が扱うのは貼り付けた一つの文字列で,構文木やファイル構造は読み取りません.プログラムへ使う名前は,変換後に予約語,重複,参照箇所との一致を別途確認する必要があります.

実務では,まず短い代表例で意図した境界になるかを確かめます.日本語と英数字が隣接する名前,XMLのような連続大文字,数字,句読点,濁点付きカナを含む例を試すと,適用規則を判断しやすくなります.次に必要なカードだけをコピーし,貼り付け先で差分を確認します.元の文字列を残した状態で比較すれば,記号の削除や大小文字情報の消失を見落としにくくなります.

11種類の候補を同時に確認できる点を,最終判断の代わりではなく,表記を整えるための比較材料として利用してください.

よくある質問(FAQ)

A.
はい.日本語とASCII英数字の境界を単語の区切りとして扱います.例えば 日本語Text はcamel形式で 日本語Text,snake形式で 日本語_text,kebab形式で 日本語-text になります.
A.
camel・snake・kebab形式では,Unicodeの文字と数字を残し,それ以外の句読点・記号・絵文字を単語の区切りとして扱います.hello😀world.example のsnake形式は hello_world_example です.大文字・小文字やかな変換は別の規則です.
A.
全角・半角はASCII英数記号,空白,対応するカタカナの文字幅を変え,ガ と ガ のような濁点付きカナも扱います.かな変換は基本範囲の全角ひらがな・カタカナだけを置き換え,漢字の読みやローマ字は変換しません.
A.
Clipboard APIが利用できない,またはブラウザに拒否された場合は失敗案内を表示します.結果欄の文字列を選択し,端末の通常のコピー操作を使ってください.完了マークはコピーに成功した場合だけ表示されます.