表紙
/
自作ソフト
/
日記
/
宝箱
/
サイト情報
/
検索
一般 / 新C言語 / 駄文 一覧 / 本文 |
| |
Last update: 2006/05/03
(c)1999-2003,2006 seclan. All rights reserved. Homepage: http://seclan.dll.jp/ E-mail: seclan[ここはアトマークに置き換えてください]dll.jp 改行コードの種類
解説改行コードが二文字から構成されている理由改行が CR LF (CRLF) や LF CR (LFCR) のような二文字から構成されている形式の理解にはシリアルプリンタの制御を考えるとよい。シリアルプリンタとは、一文字印字できるヘッドを主に行の左から右に動かして印字していく方式であり、一行を印字するごとに用紙を次の行に進める(行送り)することでページ全体を印字していく。個人向けに発売されているインクジェットプリンタや熱転写方式 / ドットインパクト方式のプリンタなどがこれに該当することが多い。このヘッドを行の左端 (行頭) に戻すためのコードとして利用されるのが CR であり、また行を送るために使用されるのが LF である。つまり、CR LF と連続して送信することで、一行を印字して右端に行ってしまったヘッドを左端に戻して、さらに次の行を印字するための用紙送りをするのである。 しかし、それならば、LF CR の順番でも結果的に同じになるのではと思うだろう。LF で用紙を送り、そして CR でヘッドを行頭に戻すので、結果的には CR LF と同じになるはずである。しかし、その方法では問題が発生することがあった。それは、LF に比べると CR の方が動作が遅いという物理的な制約があったからである。先に LF をすると、CR が完了しないうちに印字が開始されてしまうことがあったのである。 改行コードが一文字で表現されている理由改行が LF や CR 単独で構成されている形式の理解にはラインプリンタの制御を考えるとよい。ラインプリンタとは、一度に一行ずつ印字していく方式である。シリアルプリンタではヘッドを左右に動かすことで行を印字していたが、ラインプリンタでは行を一度に印刷するため、行中の各桁(文字)に相当する部分すべてにヘッドがあるような機構を持っている。シリアルプリンタに比べ行単位で印字する分速度が速いこともあり、汎用機などで用いられることが多かった。このようなプリンタの場合には、印字する単位は行であるので、どこで行が終わればよいのかがわかればよい。したがって、それを表す文字はたかだか一文字で十分である。 更新履歴: 2003/11/19: slashdot.jp で匿名の臆病者さんに指摘されたので解説部分の改定とついでに加筆を行った。 2002/02/24: 宝箱用の初版 |
| ||||
表紙
-
著作権
-
注意事項
-
リンクについて
-
404 エラーについて
(c)1999-2003,2006 seclan. All rights reserved. |