|
ヌル文字(または「ヌル終端文字」)とは、値0の制御文字である。NULと表記される場合もある。 多くの文字集合にはヌル文字の定義がある。ISO/IEC 646(ASCII)、C0制御コード、C1制御コード、ISO/IEC 10646(Unicode)、EBCDICなどの文字集合は全てヌル文字を含んでいる。一方で、JIS X 0208などのように、これを収録しない文字集合もある。ASCII、Unicode、EBCDICなどではヌル文字はコードポイント0に当てられている。多くのプログラミング言語ではヌル文字を使用できる〔"A byte with all bits set to 0, called the ''null character'', shall exist in the basic execution character set; it is used to terminate a character string literal." — ANSI/ISO 9899:1990 (the ANSI C standard), section 5.2.1〕。C言語などでは、ヌル文字のコードは0であると定義されている。 == 用途 == ヌル文字は元々NOPと似たような意味で利用されていた。プリンターや端末にヌル文字を送っても何も起こらない(スペースとして表示するターミナルもあるがこれは誤り)。テレタイプ端末をコンピュータの出力デバイスとして使う際には、各行の末尾にヌル文字を(場合によっては複数)送信することで、機械的な印字機構が行頭に戻るための時間を稼いでいた。 紙テープではヌル文字は穴のない行として表現される(新品の紙テープは全てヌル文字で埋められていると考えてもよい)。この場合、穴のない行に新しく文字をパンチすることで、ヌル文字で埋められている箇所に文字を「挿入」できる。 今日においては、ヌル文字はC言語やその派生言語、および各種のデータフォーマットにおいて、文字列の終端を表す文字として重要な役割を担っている 〔"A ''string'' is a contiguous sequence of characters terminated by and including the first null character" — ANSI/ISO 9899:1990 (the ANSI C standard), section 7.1.1〕。つまり、文字列の最後の文字の次にヌル文字を置くことで番兵の役割を持たせている。このような形式の文字列はヌル終端文字列(''null-terminated byte string'')と呼ばれる 。GNU版のfindやxargsでは、複数のファイル名をヌル文字で区切ることで、ホワイトスペースが含まれるファイル名を正しく扱えるようにするオプションがある〔MAN page of FIND 2014年8月17日(2014年8月22日閲覧)。〕。 このような特殊性もあってヌル文字を含むデータを正しくハンドリングできない処理系もあり、たとえばCascading Style Sheets 2.1においては、(エスケープによって生成したものを含めて)スタイルシートにヌル文字が含まれる場合の動作は未定義としている〔4.1.3 Characters and case - Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification W3C、2011年6月7日(2013年9月29日閲覧)。〕。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「ヌル文字」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Null character 」があります。 スポンサード リンク
|