コンテンツにスキップ

「ケース・センシティブ」の版間の差分

出典: フリー百科事典『ウィキペディア(Wikipedia)』
削除された内容 追加された内容
誤字修正
タグ: モバイル編集 モバイルウェブ編集
誤記修正
12行目: 12行目:
[[プログラミング言語]]の一部(たとえば、[[C言語]]、[[C++]]、[[Java]]、[[C#]]、[[Verilog]]<ref name="k&r1e">{{cite book|last=Kernighan|first=Brian W.|authorlink=Brian Kernighan|title=[[The C Programming Language (book)|The C Programming Language]]|edition=1st|date=February 1978|publisher=Prentice Hall|isbn=0-13-110163-3|page=33|chapter=Chapter 2: Types, Operators and Expressions|location=Englewood Cliffs, NJ|last2=Ritchie|first2=Dennis M.|authorlink2=Dennis Ritchie}}</ref>、[[Ruby]]<ref>{{cite book|last=Matsumoto|first=Yukihiro|authorlink=Yukihiro Matsumoto|title=Ruby in a nutshell|edition=1st|date=January 2002|publisher=O'Reilly Media|isbn=0-596-00214-9|page=9|chapter=Chapter 2: Language Basics}}</ref>、[[Extensible Markup Language|XML]]など)は、識別子に対してケース・センシティブである。ケース・インセンティブな言語としては、[[ABAP]]、[[Ada]]、ほとんどの[[BASIC]]({{仮リンク|BBC BASIC|en|BBC BASIC}}は例外)[[FORTRAN|Fortran]]、[[SQL]]<ref group="NB">ただし、単一のデータベースまたはカラムの参照順序({{仮リンク|collation|en|collation}})を明示的にケース・センシティブに設定することもできる。</ref>、[[Pascal]]がある。また、[[Haskell]]、[[Prolog]]、[[Go (プログラミング言語)|Go]]などの言語は、識別子の大文字・小文字自体に特別な意味を持たせることを[[プログラム意味論|セマンティック]]として定義している。
[[プログラミング言語]]の一部(たとえば、[[C言語]]、[[C++]]、[[Java]]、[[C#]]、[[Verilog]]<ref name="k&r1e">{{cite book|last=Kernighan|first=Brian W.|authorlink=Brian Kernighan|title=[[The C Programming Language (book)|The C Programming Language]]|edition=1st|date=February 1978|publisher=Prentice Hall|isbn=0-13-110163-3|page=33|chapter=Chapter 2: Types, Operators and Expressions|location=Englewood Cliffs, NJ|last2=Ritchie|first2=Dennis M.|authorlink2=Dennis Ritchie}}</ref>、[[Ruby]]<ref>{{cite book|last=Matsumoto|first=Yukihiro|authorlink=Yukihiro Matsumoto|title=Ruby in a nutshell|edition=1st|date=January 2002|publisher=O'Reilly Media|isbn=0-596-00214-9|page=9|chapter=Chapter 2: Language Basics}}</ref>、[[Extensible Markup Language|XML]]など)は、識別子に対してケース・センシティブである。ケース・インセンティブな言語としては、[[ABAP]]、[[Ada]]、ほとんどの[[BASIC]]({{仮リンク|BBC BASIC|en|BBC BASIC}}は例外)[[FORTRAN|Fortran]]、[[SQL]]<ref group="NB">ただし、単一のデータベースまたはカラムの参照順序({{仮リンク|collation|en|collation}})を明示的にケース・センシティブに設定することもできる。</ref>、[[Pascal]]がある。また、[[Haskell]]、[[Prolog]]、[[Go (プログラミング言語)|Go]]などの言語は、識別子の大文字・小文字自体に特別な意味を持たせることを[[プログラム意味論|セマンティック]]として定義している。


テキスト検索の操作は、システム・アプリケーション・コンテキストによって、ケース・センシティブにもケース・インセンシティブにもなりうる。たとえば、大部分のテキストエディタや文章処理プログラム、ウェブブラウザなど、多くの場合で、ユーザーはセンシティブで実行するかどうかを選択することができる。ケース・インセンティブな検索はより多くの結果を見つけることができるため、"Language"(文頭の単語など)や"language"、"LANGUAGE"(タイトルなど)のすべてを検索できる。ケース・センシティブな検索を行えば、プログラミング言語の"BASIC"という単語を検索する場合に、望まない単語を除外することができる。たとえば、[[Google検索]]のエンジンは、オプションでケース・センシティブな検索を指定することもできるが、基本的にはケース・インセンシティブである<ref>{{cite web|url=https://code.google.com/p/case-sensitive-search/|title=case-sensitive-search - case sensitive google search - Google Project Hosting|accessdate=2013-05-20|work=code.google.com}}</ref>。[[Oracle Database|Oracle]] SQLは、ほとんどのオペレーションや検索がデフォルトでケース・センシティブである<ref>{{cite book|title=Oracle SQL Developer User's Guide, Release 1.5|url=http://docs.oracle.com/cd/E12151_01/doc.150/e12152.pdf|date=August 2013|publisher=[[Oracle Corporation]]|section=2.10 Making Queries Case Insensitive}}</ref>が、それ以外のほとんどの[[データベース|DBMS]]のSQL検索では、デフォルトではケース・インセンティブとなっている<ref>{{cite web|url=http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html|title=MySQL :: MySQL 5.0 Reference Manual :: C.5.5.1 Case Sensitivity in String Searches|accessdate=2013-05-20|work=dev.mysql.com}}</ref>。
テキスト検索の操作は、システム・アプリケーション・コンテキストによって、ケース・センシティブにもケース・インセンシティブにもなりうる。たとえば、大部分のテキストエディタや文章処理プログラム、ウェブブラウザなど、多くの場合で、ユーザーはセンシティブで実行するかどうかを選択することができる。ケース・インセンティブな検索はより多くの結果を見つけることができるため、"Language"(文頭の単語など)や"language"、"LANGUAGE"(タイトルなど)のすべてを検索できる。ケース・センシティブな検索を行えば、プログラミング言語の"BASIC"という単語を検索する場合に、望まない単語を除外することができる。たとえば、[[Google検索]]のエンジンは、オプションでケース・センシティブな検索を指定することもできるが、基本的にはケース・インセンシティブである<ref>{{cite web|url=https://code.google.com/p/case-sensitive-search/|title=case-sensitive-search - case sensitive google search - Google Project Hosting|accessdate=2013-05-20|work=code.google.com}}</ref>。[[Oracle Database|Oracle]] SQLは、ほとんどのオペレーションや検索がデフォルトでケース・センシティブである<ref>{{cite book|title=Oracle SQL Developer User's Guide, Release 1.5|url=http://docs.oracle.com/cd/E12151_01/doc.150/e12152.pdf|date=August 2013|publisher=[[Oracle Corporation]]|section=2.10 Making Queries Case Insensitive}}</ref>が、それ以外のほとんどの[[データベース|DBMS]]のSQL検索では、デフォルトではケース・インセンティブとなっている<ref>{{cite web|url=http://dev.mysql.com/doc/refman/5.0/en/case-sensitivity.html|title=MySQL :: MySQL 5.0 Reference Manual :: C.5.5.1 Case Sensitivity in String Searches|accessdate=2013-05-20|work=dev.mysql.com}}</ref>。


ケース・センシティブな操作は'''フォールド・ケース'''と言われることがある。文字コードのテーブルが大文字または小文字に一致するように畳み込む(fold)という考えから来ている。
ケース・センシティブな操作は'''フォールド・ケース'''と言われることがある。文字コードのテーブルが大文字または小文字に一致するように畳み込む(fold)という考えから来ている。


In filesystems in [[Unix系]]システムのファイルシステムでは、ファイル名は通常ケース・センシティブである(同じディレクトリにreadme.txtとReadme.txtというファイルを別のファイルとして保存できる)。[[macOS]]はその点でいくらか変わった扱いをする。デフォルトでは[[HFS Plus|HFS+]]をケースインセンティブで使用する(そのため、同じディレクトリにreadme.txtとReadme.txtと保存することはできない)が、デフォルトでは{{仮リンク|case-preserving|en|Case preservation}}モードで使用される(そのため、readme.txtという名前で作成したファイルはreadme.txtとして表示され、Readme.txtという名前で作成したファイルはReadme.txtとして表示される)。他のほとんどの環境はケース・センシティブであり、多くのMac[[インストール|インストーラ]]がケースセンシティブなファイルシステムで失敗するため、このことが開発者や[[パワーユーザー]]にとって問題を引き起こすことがある。
In filesystems in [[Unix系]]システムのファイルシステムでは、ファイル名は通常ケース・センシティブである(同じディレクトリにreadme.txtとReadme.txtというファイルを別のファイルとして保存できる)。[[macOS]]はその点でいくらか変わった扱いをする。デフォルトでは[[HFS Plus|HFS+]]をケースインセンティブで使用する(そのため、同じディレクトリにreadme.txtとReadme.txtと保存することはできない)が、デフォルトでは{{仮リンク|case-preserving|en|Case preservation}}モードで使用される(そのため、readme.txtという名前で作成したファイルはreadme.txtとして表示され、Readme.txtという名前で作成したファイルはReadme.txtとして表示される)。他のほとんどの環境はケース・センシティブであり、多くのMac[[インストール|インストーラ]]がケースセンシティブなファイルシステムで失敗するため、このことが開発者や[[パワーユーザー]]にとって問題を引き起こすことがある。


古い[[Microsoft Windows]]のファイルシステムである[[VFAT|FAT]]や[[File Allocation Table|FAT32]]はケース・センティブではないが、case-preservingである。さらに古いFAT12ファイルシステムはケース・インセンティブであり、ケース・プリザービングではなかった。そのため、readme.txtやReadMe.txtという名前で保存されたはREADME.TXTとして保存される<ref>{{cite web|url=https://technet.microsoft.com/en-us/library/cc739978(v=ws.10).aspx|title=Case Sensitivity in Subsystem for UNIX-based Applications|accessdate=2013-05-20|date=2005-08-22|work=technet.microsoft.com}}</ref>。後のWindowsのファイルシステムである[[NT File System|NTFS]]は、内部ではケース・センシティブであるため、readme.txtとReadme.txtが同じディレクトリに共存できる。しかし、実用的な目的では、ユーザーやほとんどのソフトウェアが扱う場合には、ファイルはできるだけケース・インセンティブなものとして振る舞う<ref>{{cite web|url=http://support.microsoft.com/kb/100625|title=Filenames are Case Sensitive on NTFS Volumes|accessdate=2013-05-20|date=2006-11-01|work=support.microsoft.com}}</ref>。
古い[[Microsoft Windows]]のファイルシステムである[[VFAT|FAT]]や[[File Allocation Table|FAT32]]はケース・センティブではないが、case-preservingである。さらに古いFAT12ファイルシステムはケース・インセンティブであり、ケース・プリザービングではなかった。そのため、readme.txtやReadMe.txtという名前で保存されたはREADME.TXTとして保存される<ref>{{cite web|url=https://technet.microsoft.com/en-us/library/cc739978(v=ws.10).aspx|title=Case Sensitivity in Subsystem for UNIX-based Applications|accessdate=2013-05-20|date=2005-08-22|work=technet.microsoft.com}}</ref>。後のWindowsのファイルシステムである[[NT File System|NTFS]]は、内部ではケース・センシティブであるため、readme.txtとReadme.txtが同じディレクトリに共存できる。しかし、実用的な目的では、ユーザーやほとんどのソフトウェアが扱う場合には、ファイルはできるだけケース・インセンティブなものとして振る舞う<ref>{{cite web|url=http://support.microsoft.com/kb/100625|title=Filenames are Case Sensitive on NTFS Volumes|accessdate=2013-05-20|date=2006-11-01|work=support.microsoft.com}}</ref>。


== 注釈 ==
== 注釈 ==

2019年11月28日 (木) 13:58時点における版

ケース・センシティブ(:case-sensitive)とは、コンピューターの分野において、文字列の大文字と小文字を区別して扱うことである。逆に、大文字と小文字を区別しないことを、ケース・インセンシティブ(:case-insensitive)と言う。たとえば、以下の文字列は、ケース・センシティブな場合やケース・インセンシティブな場合がある。

プログラミング言語の一部(たとえば、C言語C++JavaC#Verilog[1]Ruby[2]XMLなど)は、識別子に対してケース・センシティブである。ケース・インセンティブな言語としては、ABAPAda、ほとんどのBASICBBC BASIC英語版は例外)FortranSQL[NB 1]Pascalがある。また、HaskellPrologGoなどの言語は、識別子の大文字・小文字自体に特別な意味を持たせることをセマンティックとして定義している。

テキスト検索の操作は、システム・アプリケーション・コンテキストによって、ケース・センシティブにもケース・インセンシティブにもなりうる。たとえば、大部分のテキストエディタや文章処理プログラム、ウェブブラウザなど、多くの場合で、ユーザーはセンシティブで実行するかどうかを選択することができる。ケース・インセンティブな検索はより多くの結果を見つけることができるため、"Language"(文頭の単語など)や"language"、"LANGUAGE"(タイトルなど)のすべてを検索できる。ケース・センシティブな検索を行えば、プログラミング言語の"BASIC"という単語を検索する場合に、望まない単語を除外することができる。たとえば、Google検索のエンジンは、オプションでケース・センシティブな検索を指定することもできるが、基本的にはケース・インセンシティブである[3]Oracle SQLは、ほとんどのオペレーションや検索がデフォルトでケース・センシティブである[4]が、それ以外のほとんどのDBMSのSQL検索では、デフォルトではケース・インセンシティブとなっている[5]

ケース・センシティブな操作はフォールド・ケースと言われることがある。文字コードのテーブルが大文字または小文字に一致するように畳み込む(fold)という考えから来ている。

In filesystems in Unix系システムのファイルシステムでは、ファイル名は通常ケース・センシティブである(同じディレクトリにreadme.txtとReadme.txtというファイルを別のファイルとして保存できる)。macOSはその点でいくらか変わった扱いをする。デフォルトではHFS+をケースインセンシティブで使用する(そのため、同じディレクトリにreadme.txtとReadme.txtと保存することはできない)が、デフォルトではcase-preserving英語版モードで使用される(そのため、readme.txtという名前で作成したファイルはreadme.txtとして表示され、Readme.txtという名前で作成したファイルはReadme.txtとして表示される)。他のほとんどの環境はケース・センシティブであり、多くのMacインストーラがケースセンシティブなファイルシステムで失敗するため、このことが開発者やパワーユーザーにとって問題を引き起こすことがある。

古いMicrosoft WindowsのファイルシステムであるFATFAT32はケース・センシティブではないが、case-preservingである。さらに古いFAT12ファイルシステムはケース・インセンシティブであり、ケース・プリザービングではなかった。そのため、readme.txtやReadMe.txtという名前で保存されたはREADME.TXTとして保存される[6]。後のWindowsのファイルシステムであるNTFSは、内部ではケース・センシティブであるため、readme.txtとReadme.txtが同じディレクトリに共存できる。しかし、実用的な目的では、ユーザーやほとんどのソフトウェアが扱う場合には、ファイルはできるだけケース・インセンシティブなものとして振る舞う[7]

注釈

  1. ^ ただし、単一のデータベースまたはカラムの参照順序(collation英語版)を明示的にケース・センシティブに設定することもできる。

参考文献

  1. ^ Kernighan, Brian W.; Ritchie, Dennis M. (February 1978). “Chapter 2: Types, Operators and Expressions”. The C Programming Language (1st ed.). Englewood Cliffs, NJ: Prentice Hall. p. 33. ISBN 0-13-110163-3 
  2. ^ Matsumoto, Yukihiro (January 2002). “Chapter 2: Language Basics”. Ruby in a nutshell (1st ed.). O'Reilly Media. p. 9. ISBN 0-596-00214-9 
  3. ^ case-sensitive-search - case sensitive google search - Google Project Hosting”. code.google.com. 2013年5月20日閲覧。
  4. ^ “2.10 Making Queries Case Insensitive”. Oracle SQL Developer User's Guide, Release 1.5. Oracle Corporation. (August 2013). http://docs.oracle.com/cd/E12151_01/doc.150/e12152.pdf 
  5. ^ MySQL :: MySQL 5.0 Reference Manual :: C.5.5.1 Case Sensitivity in String Searches”. dev.mysql.com. 2013年5月20日閲覧。
  6. ^ Case Sensitivity in Subsystem for UNIX-based Applications”. technet.microsoft.com (2005年8月22日). 2013年5月20日閲覧。
  7. ^ Filenames are Case Sensitive on NTFS Volumes”. support.microsoft.com (2006年11月1日). 2013年5月20日閲覧。