ケースセンシティブ【case-sensitive】

概要

ケースセンシティブとはアルファベットの大文字と小文字を区別し、それぞれ別の文字として扱うこと。反対に、大文字と小文字を同一視することは「ケースインセンシティブ」(case insensitive)という。パスワード認証ファイル名プログラムのコードなど、コンピュータが文字列を比較・照合する多くの場面でこの区別が関わってくる。
ケースセンシティブのイメージ画像

英語などの表記に用いられるラテンアルファベットには、一つの文字に「大文字」(uppercaseまたはcapital letter)と「小文字」(lowercaseまたはsmall letter)があり、その区別のことを「ケース」(case)という。

文字コードの規格では、大文字の「A」と小文字の「a」にはそれぞれ異なる番号が割り当てられており、コンピュータにとって両者は本来別のデータである。ケースセンシティブな処理はこの区別をそのまま比較に反映し、ケースインセンシティブな処理では自動的に変換して揃えるといった内部処理により両者を同一視する。

コンピュータ上の文字の処理では、例えばパスワード認証はケースセンシティブに行われる。「Password」と「password」は異なる文字列として判定されるため、入力時に正確な大文字・小文字の一致が求められる。使用できる文字の組み合わせが増えることで、不正な解読に対する強度も高まる。

ファイルシステムでのファイル名などの扱いはオペレーティングシステム(OS)によって異なる。LinuxなどUNIX系OSでは一般にケースセンシティブであり、「readme.txt」と「README.txt」は別ファイルとして同じディレクトリに共存できる。Windowsは内部的には本来の文字を保持しているが処理上はケースインセンシティブで動作するため、両者を同名とみなす。この違いは、異なるOS間でファイルをやり取りする際に問題になることがある。

プログラミング言語のシンボル名などの扱いは言語によって分かれる。C言語やJavaをはじめ現代の言語の大半はケースセンシティブだが、古くはCOBOLFortran、BASICなどケースインセンシティブな言語も一般的だった。SQLでは命令などは一般にケースインセンシティブだが、テーブル名や列名の扱いはデータベース製品によって異なる。HTMLタグ名もケースインセンシティブだが、JavaScriptはシンボル名がケースセンシティブなため、スクリプトで操作する際は注意が必要な場合がある。

URLではドメイン名部分がケースインセンシティブと定められているが、パス以降はサーバのOSや設定やファイルシステムの仕様に依存し、UNIX系サーバではケースセンシティブに扱われることが多い。また、検索機能やデータベースの照合でも、ケースセンシティブかどうかで結果が変わるため、システム設計や運用時に意識すべき設定の一つである。

(2026.5.23更新)
 

他の辞典等による「ケースセンシティブ」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。