由来がはっきりしないWindowsの“謎”仕様──Windowsの雑学(諸説あります):その知識、ホントに正しい? Windowsにまつわる都市伝説(133)(2/3 ページ)
多くの企業では新年度も始まったことですので、今回はIT系企業に入社した新人さん向けに“知らなくてもいい雑学”をご用意しました。昔からよく話題になることばかりかもしれませんが、その由来について思いを巡らせることは、コンピュータの歴史を知る良い機会になると思います。
[謎その2]Windowsのテキスト改行コードが「CR+LF」なのは、他のOSに忖度したから?
Windowsで作成するテキストファイルの標準の改行コードは「キャリッジリターン(CR)+ラインフィード(LF)」(\r\n、0x0D0A)です。一方、Windows以外のOSでは「LF」(\n、0x0A)が主流です。そのため、Windows以外で作成されたテキストファイルをシンプルな「メモ帳」で開くと、改行されないため可読性が損なわれます(画面4)。
画面4 Windowsのアプリケーションには、LinuxなどWindows以外のOSで作成されたテキストファイルの改行を正しく扱えないものもある。例えば、「メモ帳」がそう(Windows 10 バージョン1809のメモ帳からは、ようやくLFのみの改行も認識するようになった)
これは、異種混在環境でファイルをやりとりする場合や、オープンソースのコードを扱う際に厄介です。そのため、Windowsで作業する開発者の多くは、標準の「メモ帳」(notepad.exe)は使わずに、複数の改行コードに対応した高機能なテキストエディタや開発ツールを使用していることでしょう。ちなみに、Windows 10 バージョン1809では「メモ帳」が改善され、CR+LF以外の改行コード(CRのみ、LFのみ)にも対応しました(画面5)。
そんなことも知らずに、やれ“オープンソースを扱うならLinuxでしょ!”だとか、“macOS(OS X)はUNIXベースだから開発に使えるよね!”だとか、“メモ帳がついにLF対応って、何を今さら?”だとか……。自分が使い慣れたものを引き続きご利用ください。
最初に最も有力な説から。DOS(PC-DOS/MS-DOS)は、8bit PC用OSの代表格であったCP/M(Control Program for Microcomputer)をモデルに開発されたと言われています。「8+3文字」というファイル名の命名規則、「.COM」という実行ファイルの拡張子、ドライブレター、デバイス名、コマンドプロンプト(>)と組み込みコマンド(DIRなど)は、全てCP/Mに由来するものです。そして、CP/Mが採用していた改行コードがCR+LFであり、それがDOS、そしてWindowsへと引き継がれてきたということです。この説は説得力がありますし、きっと正解なのでしょう。
では、こんな新説はいかがでしょう。さまざまなOSの混在環境において、後発のDOSやWindowsが異種OSに忖度(そんたく)した説です。メインフレームからのダウンサイジングが進み、企業にコンピュータ(ミニコンやオフコン、PCサーバなど)やパーソナルコンピュータが導入され始めたころ、DOS/Windowsは決して主流のサーバOSやクライアントOSではありませんでした。周りを見渡せばUNIX(SVR4やBSD)、Apple Mac OS(Mac OS 9以前のクラシックMacintosh、日本では「漢字Talk」と呼ばれていた)、IBM OS/2などさまざまなOSがありました。
UNIXの改行コードはLF、当時のMac OSの改行コードはCR、Windowsと同期と言えなくもないOS/2の改行コードはCR+LFです。DOSやWindowsで作成したテキストファイルの改行コードはCR+LFなので、LFが改行コードのUNIX環境でも、CRが改行コードのMac OS環境でも、取りあえず改行されます(画面6)。
画面6 Windowsで作成されたテキストファイルの改行コードはCR+LFであるため、UNIX/Linuxで開いても、クラシックMacintosh(Mac OS 9以前)で開いても、(余計な文字が表示されることもあるが)取りあえず改行される
DOS/Windowsが仲介役に徹することで、異種混在環境の課題の一つを解消できたわけです(アプリケーションによっては余計な文字(^M)が表示されることがありましたが)。この新説は結果からのこじつけなので、ちょっと無理がありますね。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 次期Windows 10最新動向:リリース秒読みの「19H1」はこう変わる
間もなくリリースされるWindows 10の新しい機能アップデート「19H1」。それに実装される新機能をまとめてみた。また、同時に変更となるライフサイクルなどについても解説する。 - 【新元号発表目前!】Windows 10/Officeの新元号対応どうするどうなる!?
新元号への切り替えが2019年5月1日に行われる。Windows OS/Officeでこの新元号に対応するにはどうすればよいのか、注意すべき点はあるのかなどをまとめる。 - 【Windows 10】できる人は知っているキーボードショートカット
Windows 10でキーボードショートカットを使うと、マウスを使うよりも素早い操作が可能だ。ただ、種類も多く、知っていると便利なのに意外と使われていないものも多いようだ。ここでは基本的なキーボードショートカットを紹介する。 - Windows 10への移行計画を早急に進めるべき理由
本連載では、これからWindows 10への移行を本格的に進めようとしている企業/IT管理者に向け、移行計画、展開、管理、企業向けの注目の機能を解説していきます。第1回目は、「Windows 10に移行すべき理由」を説明します。