アンダースコア
アンダースコア(underscore, under score)あるいは下線符号(かせんふごう)は、空白に下線が引かれた記号文字(約物)である。
アンダーライン(underline[1])、アンダーバー(underbar[1])。ASCII/CCITT文字名称はunderline、JIS X 0201文字名称はアンダラインである。Unicode文字名称はローライン(low line)で、アンダースコアおよびアンダーラインは結合文字である U+0332 の別名になっている。
ASCIIコードは5F16(9510)である。
歴史
[編集]もともとは、タイプライターで下線(アンダーライン)を引くために設けられた。すなわち、文字を打った後で、紙を文字数分戻してアンダースコアを重ね打ちすることで、アンダーラインを表現していた。1色のタイプライターではほとんど唯一の強調法であった。また、印刷物ではイタリック体を用いる箇所も、タイプライターではアンダースコアによって表していた。
ASCIIの古いバージョン「ASCII-1963」にはアンダースコアはなく、符号点5Fには「バックアロー(backarrow)」すなわち左矢印「←」があった[2]。ASCII-1963には矢印は左「←」と上「↑」のみあり、この特徴はテレタイプのASR-33/35から引き継がれていた。
ASCIIが現在の形になった1967年版で、5Fは左矢印からアンダースコアに変更された(なお、上矢印は「^」になった)。
コンピューターにおける用法
[編集]マークアップ/マークダウン
[編集]現在[いつ?]のコンピューターにあっても、テキストだけで強調を表現したいとき、アンダースコアが用いられることがある。また、_ABC_
のように入力されたテキストを ABC のように下線付きで修飾表示するソフトウェアもある[要出典]。
Microsoft Wordでは、同様のことをすると ABC のようにイタリック体になる。[要出典]
マークアップ言語の軽量版であるMarkdown記法をサポートするソフトウェアでは、_ABC_
のように入力されたテキストを通例 ABC のようにイタリック体(または斜体)で修飾表示し、__ABC__
のように入力されたテキストを通例 ABC のようにボールド体で修飾表示する。この記法にはアスタリスクを用いることもでき、前者は*ABC*
、後者は**ABC**
と入力することでも同様に修飾される。
LaTeXなどでは、下付き文字を表す。たとえば、「A_1」は「A1」とレンダリングされる。
スペースまたはハイフンの代替
[編集]インターネットのURLやメールアドレスのようなスペース(空白文字)が使えないところでは、代替としてアンダースコアが使われることがある。ただし、それらのうちドメイン名部分にはアンダースコアを用いることはできず、用いることができるのはハイフン(厳密にはハイフンマイナス)-
である(RFC 1034)。なお、Googleはユーザーや検索エンジンがURLのコンセプトを理解しやすくなるように、URLの単語区切りにはアンダースコアよりもハイフンを使用することを推奨している[3]。
一方、ほとんどのプログラミング言語では、ハイフンがマイナス記号(負号)の演算子として使われ、識別子の中に含めることができないので、区切り文字の代用としてアンダースコアが使用されることがある。また、ほとんどのプログラミング言語では、識別子はひとつのつづりである必要があり、スペースを含めることができないので、区切り文字の代用としてアンダースコアが使用されることがある。アンダースコアによって繋がれた単語は地面を張っている蛇のように見えるため、この記法はスネークケースとも呼ばれる。なお、標準Pascalの仕様ではアンダースコアを識別子に使用することができなかったため、識別子を構成する各単語の先頭を大文字にして区切る記法が使われていたが、この記法はのちにキャメルケースやパスカルケースと命名・再定義された。
ファイルシステムにおいて、ファイルやディレクトリ(フォルダー)の命名にアンダースコアが使われることも多い。コマンドラインシェルでファイルシステムを操作するとき、スペースが含まれている名前や、ハイフンで始まる名前は問題を引き起こすことが多いからである。また、MS-DOSではファイル名やディレクトリ名にスペースを含めることができなかったという事情もあった。
Wikipediaの記事名では、アンダースコアとスペースは同一視される仕様になっている。詳しくはWikipedia:記事名の付け方#特殊記号を参照のこと。
その他
[編集]C言語やC++では、「グローバルスコープを持ち、アンダースコアで始まる名前」や、「アンダースコアで始まり、その次が大文字の名前」などは、実装系(コンパイラおよび標準ライブラリ)のために予約されている。Java 9ではアンダースコア1文字の識別子_
は予約済みのキーワード(予約語)となったため、ユーザーコードで識別子として使用することはできなくなった。詳しくは命名規則 (プログラミング)を参照のこと。
アンダースコアはASCIIなどの文字コードですべての大文字よりもあとに来るので、並べ替えをするときに最後に置きたい項目の最初にこのアンダースコアを置く用法がある。たとえば、「_ABC」は、「ZZZ」よりもあと(ただし「a」より前)に並べられる。
標準的な日本語表現ではあまり使われることがない一方、(^_^) のような顔文字に用いられることがある。
自然言語における用法
[編集]アンダースコアはアフリカやネイティブアメリカンのいくつかの言語において、ダイアクリティカルマークとして用いられる。
アラビア語とヘブライ語の転記において、アンダードットの代用に使われることがある。
符号位置
[編集]記号 | Unicode | JIS X 0213 | 文字参照 | 名称 |
---|---|---|---|---|
_ | U+005F |
1-1-18 |
_ _ |
アンダーライン LOW LINE |
̲ | U+0332 |
|
̲ ̲ |
combining low line (結合文字) |
_ | U+FF3F |
1-1-18 |
_ _ |
アンダーライン(全角) FULLWIDTH LOW LINE |