テキストファイル

テキストファイル: text file)は、何らかの文字コードによって表される文字データだけが含まれるファイルのことで、ファイルフォーマットの一種と見なすこともできる。ファイルを読み書きするシステム双方が同じ文字符号化方式をサポートしているという前提であれば、互換性が高く幅広い環境でデータを交換・利用できるというメリットがある一方、高度な付随情報や階層化・構造化された情報を扱う場合はデータ量(ファイルサイズ)が増加しやすいというデメリットもある。対義語はバイナリファイル

テキストファイルの内部構造

テキストファイルの内部構造は、ほかのファイルフォーマットに比べてきわめて単純である。テキストファイルに含まれる文字コードで表されるデータには、文字と制御文字が含まれる。制御文字によって表される改行は、テキストファイル中でデータの区切りを表す。バイナリファイルと異なり、基本的にファイルの途中でヌル文字(値0)が出現することはない[1]

文字の内部表現

一般的にコンピュータで処理されるすべてのデータは、内部的に数値として扱われる。文字をコンピュータで処理する場合は、各文字と整数値を対応させた何らかの文字セットによる文字コードが使われる。かつては基本的な英数字(半角英数字)であってもコンピュータごとに使用される文字セットが異なり、そのため異なるコンピュータ間のデータ交換に難があったが、標準規格としてASCIIが制定され、またオクテット(1バイト=8ビット)を採用するコンピュータが主流になってからは、異なるコンピュータ間の文字データの交換性が向上した。

ASCIIでは、例えば文字Aは16進数表記で0x41B0x42、……になる。そのため、ASCIIでエンコードされた「ABCD」という文字列を表すファイルを作成すると、内部的には16進数で次のように表される。

41424344

しかし、英語以外のヨーロッパ言語で使われるウムラウトセディーユなどを含むラテン文字や、日本語あるいは中国語のような多数の漢字・かなを使用する言語の文字は、7ビット文字コードのASCIIではサポートされていない。これらの文字をサポートするために、ASCIIから派生したシングルバイト・マルチバイト文字セットの拡張規格が乱立し、国際的な文字データの交換に問題が生じる事態となったが、あらゆる言語の文字を包括する規格であるUnicodeおよびISO/IEC 10646が策定されたことによって統一が進みつつある。Webサイトの記述に使用されるHTMLおよびCSSなど、特に互換性が必要とされるテキストファイルには、UTF-8エンコーディングが採用されることがほとんどになっている[2]プログラミング言語で使われるソースファイルも、同様にUTF-8の採用が進んでいる。

テキストファイル自体はデータの羅列であり、文字のエンコーディング方式を記述/判定するために決められた方法はない。そのため、ファイル先頭に記述されたタグ情報やマジックナンバー(バイトオーダーマーク)をもとにエンコーディングを判断する、含まれるデータ列の規則性をもとにエンコーディングを推定する、あるいはエンコーディングを決め打ちで仮定するなどの方法を採る必要がある。

制御文字

制御文字は、モニタプリンタなどの機器を制御するためのデータで、改行を表す改行文字やタブ(水平タブ)などが含まれる。制御文字には、文字と同じようにそれぞれ文字コードが割り当てられる。ASCIIの制御文字では、例えば改行文字 (LF) は0x0A、水平タブ (HT) は0x09である。

テキストファイルの終端に制御文字として、EOF(End Of File、ファイル終端マーク)をつける場合がある。歴史的には、CP/Mオペレーティングシステムに由来する。CP/Mではファイルを、ファイルシステムの(128バイトの)ブロック単位でのみ管理し、1バイト単位のファイルサイズは管理していなかった。ファイルがバイナリ(プログラム)の場合は未使用の領域があるだけで問題ない。しかし、テキストの場合は終端を識別するものが必要となり、ASCIIの置換文字 (SUB) である0x1Aを終端の次の1バイトに付加しファイルの終端を識別することにしていた。MS-DOSでは、CP/Mとの互換性のためテキストファイルにEOFを付加するのが一般的であった。

改行

テキストファイルでは、人間にとってもプログラムにとっても、改行はファイルの中でのデータの区切りを表す重要な部分である。プログラム処理を考える場合、テキストファイル中の1つの、すなわち改行で区切られた部分は、1つのレコードであると見なすこともできる。後述するように、改行の表現方法はコンピュータ環境によって異なる場合がある。

テキストファイルとバイナリファイル

テキストファイルは、バイナリファイルの対義語である。バイナリファイルは、処理の高速化やデータ圧縮、付加情報を表すデータやマルチメディアなどテキスト以外のデータを格納する、などの目的で使用される。例えばMicrosoft Wordで作成して、.docまたは.docx形式として保存したファイル、すなわちWordドキュメントファイルは、テキスト以外のさまざまなデータを含むバイナリファイルである[注釈 1]。なお、テキストとテキスト以外のデータが混在しているファイルは、バイナリファイルに分類される。

テキストファイルの利点と欠点

テキストファイルには、次の利点がある。こうした利点は、テキストファイルの単純さから生じている部分が大きい。

  • 異なる環境間でも比較的互換性が高い。ASCIIの範囲内の文字データのみであれば、特に互換性が高い。
  • 対応するプログラムを比較的容易に作成できる。
  • 数値を可変長テキストで表現する場合、01のように1桁の数値は8ビット単位でエンコーディングすると1バイトで表現できるため、32ビットや64ビットの固定長バイナリ表現よりもデータが小さくなる。
  • 数値を10進数テキストで表現する場合、内部表現に依存しない。例えば、2の補数IEEE 754を採用しているシステムと採用していないシステムとの間で情報を交換しやすい。
  • 8ビット単位(バイト単位)でエンコーディングする場合、エンディアン(バイトオーダー)に依存しない。

テキストファイルは一般的なテキストエディターで読み書きすることができるが、バイナリファイルはアプリケーションソフトウェアごとにさまざまなファイルフォーマットが存在しており、対応アプリケーションがないと読み書きが困難あるいは不可能であることも多い。ただし、JPEGPNG、あるいはPDFのように、バイナリ形式であっても標準化が進んでおり、異なるアプリケーション間で読み書きができるファイルフォーマットも存在する。

以上のような理由から、オペレーティングシステム (OS) およびアプリケーションの設定ファイルとしてテキストファイルを採用しているケースも多い。

一方、テキストファイルでは、バイト列の表現はデータサイズが増大しやすく不向きである。例えばラスター画像形式のデータにおける各ピクセルのRGB色情報配列などが挙げられる。PNM画像フォーマットにはASCII形式のP1/P2/P3とバイナリ形式のP4/P5/P6があるが、例えば8ビット階調のグレースケールの場合、バイナリ形式では各ピクセルのデータ幅はその階調値によらず常に8ビット固定となるため、ASCII形式よりもファイルサイズが小さくなる。

テキストでバイト列を表現する場合、16進数表記を使ってもバイナリの場合の2倍の容量が必要となる。情報量を削減するために、Base64エンコーディングを施すこともある[4]。情報量が増えると、エンコードおよびデコードの処理にかかる時間も比例して増え、パフォーマンス低下の要因となる。

テキストファイルでは直接扱えないデータ

単純なテキストファイルでは、文字コードで表される文字以外のデータは格納できない。そのため、例えば次のようなデータを直接含むことができない。

  • 付加情報を表すデータ
    • 文書情報を表すデータ
    • 文書の構造を表すデータ
    • 文書や、その一部のスタイルやレイアウトを表すデータ
  • マルチメディア

上記のデータをテキストで表現するには、何らかの書式やルールを定めて構造化したり、文字列としてエンコーディングしたりする必要がある。しかしその場合、バイナリと比べてファイルサイズが肥大化しがちになる。

先進的なテキストファイル

テキストファイルでありながら付加情報やマルチメディアに対応した先進的なファイルフォーマットとして、例えばLaTeXHTMLXMLがある。

HTMLやXMLでは、付加情報を表すデータやマルチメディアデータへの参照をタグで表す。HTMLやXMLのファイルは、テキストファイルとして開くとタグも含めた文書の内容がそのまま表示され、対応するウェブブラウザなどで開くとタグの記述内容に従った文書の表示や処理の実行が行われる。

このようなフォーマットはマークアップ言語と呼ばれる。

.NETでは、XMLテキストによるオブジェクトのシリアライズと逆シリアライズをサポートする[5]。これにより、XMLテキストファイルへの.NETオブジェクトの保存と読み込みを実装できる。.NET Framework 2.0以降では、アプリケーションの設定をXMLファイル経由で簡単に読み書きするユーティリティクラスも用意されている[6]

アプリケーションの設定を管理するテキストファイル形式として、古くはINIファイルが用いられてきたが、MSXML英語版のようなOS標準コンポーネントやJavaなどのプログラミング言語における標準ライブラリによってXMLが広くサポートされるようになったこともあり、INIファイルよりも柔軟かつ機能性の高いXMLを設定ファイルとして採用するアプリケーションも多い。

一方、XMLよりも軽量なデータ記述言語として、JSONやその派生形式が使用されるケースも増えている。たとえば、Visual Studio Codeではsettings.jsonというファイル名でJSONC (JSON with Comments)形式のテキストファイルによって設定を管理する[7][8]

テキストファイルの種類

テキストファイルは、次の点で分類される。

  • 各行(レコード)が固定長か可変長か
  • 文字コード
  • 改行コード

固定長レコードと可変長レコード

メインフレーム/汎用機は多くの場合、固定長レコードファイルを扱うのが一般的であった。そのためメインフレーム/汎用機で使われるテキストファイルはすべての行(レコード)を同じ長さにするよう、長さが足りない場合には空白文字などで埋めるようになっている。

一方、UNIXPCなどでは可変長の行(レコード)を扱うことができ、任意の位置に改行文字を挿入する。

文字コード

文字のうち、英数字を表す文字コードはほぼASCIIで統一されている。それ以外の、例えば日本語の漢字やかななどを表す文字コードはさまざまな種類があり、互換性を下げる要因となっている。

英数字

現在のPCや個人用モバイル端末などでは、テキストファイルで使われる文字コードのうち英数字を表すものは、ASCIIまたはASCII互換のものがほとんどである。そのため、英数字が文字化けすることはほとんどない。

なお、メインフレーム/汎用機などでは文字コードとしてEBCDICが使われることが多い。

英数以外の文字

英数以外の文字を表す文字コードはさまざまな種類があり、英数字の場合のように統一されていない。そのため、英数字以外の文字を含むテキストファイルは、英数字だけを含むテキストファイルに比べて互換性が低い。

また、英数以外の言語を表す文字はさまざまな文字コードが使われているため、英語をのぞく複数の言語の文字を混在させることは難しい。例えば、アルファベットと漢字・かな、アルファベットとアラビア文字が混在した文書はそれぞれ比較的容易に作成できるが、漢字・かなとアラビア文字が混在する文書の作成は難しい。

日本語の文字コード

日本語の漢字・かななどでは、文字コードの文字符号化方式として次の3種類が使われてきた。

文字符号化方式 使用環境
ISO-2022-JP インターネット(特に電子メール
Shift_JIS MS-DOS・WindowsMac OS(バージョン9まで)
EUC-JP UNIXやLinux

そのため、漢字・かななどを含むテキストファイルを異なる環境で使う場合、文字化けなどの問題が発生しやすい。例えば、Linux上で作成した漢字・かなを含むテキストファイルをそのままWindows上で開くと、文字化けすることが多い。こうした問題を解決するには、複数の文字コードに対応するプログラムや、変換ツールが必要になる。

Unicode

Unicodeは、世界中のすべての文字を共通で扱えることを目指した、符号化文字集合の規格である。また、Unicodeの文字符号化方式としてUTF-8UTF-16が利用されることが多い。

Unicodeが広く普及することで、英数字以外の文字を扱うときの互換性が高まり、また多言語の文字が混在する文書が容易に作成できるようになることが期待されている。

しかし現在では、Unicodeが普及途上ということもあり、文字コードに関する混乱が増している一面もある。漢字やかなの場合、UTF-8やUTF-16など文字符号化方式の種類が増えたため、文字化けなどの問題はより難しくなっている一面もある。

改行コード

テキストファイル内で用いられる改行を表すコードは、コンピュータの種類ごとに違いがあり、互換性を下げる要因となっている。いずれの場合においても、改行は制御文字LF(0x0A)と制御文字CR(0x0D)で表される。このうち、LF(Line Feed)は行送り、CR(Carriage Return)は復帰を表す。

コンピュータの種類 改行コード
MS-DOS・Windows CR+LF
UNIX LF
Mac OS(バージョン9まで) CR

例えばWindows上で作成したファイルをLinux上で開いた場合、改行コードの違いが原因で、各行の末尾に異常な文字が表示されることがある。

テキストファイルの編集

一般的なソフトウェア

テキストファイルには数多くのソフトウェアが対応しており、例えば、Wordや一太郎Excelなどでは、ファイル保存時にテキストファイルとして保存することを指定すれば、テキストファイルの作成・編集ツールとして使える。しかし、テキストファイル編集時にはこうしたソフトウェアの豊富な機能の多くが使えないことになる。また、テキスト編集のためには逆に機能が限られていることも多い。

テキストエディタ

テキストエディタはテキストファイルの作成・編集・閲覧に特化したソフトウェアであり、軽快でテキストの読み書きに便利な機能を備えていることが多い。

プログラム処理

テキストファイルは単純なため、プログラム処理が比較的簡単である。特に、sedPerlなどはテキスト処理を目的とした言語であるため、比較的簡単な記述で複雑な処理ができる。

脚注

注釈

  1. ^ Microsoft Office 2007以降で採用されたOffice Open XML形式は、複数のXMLやメディアファイルをZIPでアーカイブしたものであり[3]、こちらもバイナリファイルであると言える。

出典

関連項目

Read other articles:

Amino GondohutomoLahir(1922-03-26)26 Maret 1922Surakarta, Hindia BelandaMeninggal2 September 1987(1987-09-02) (umur 65)Jakarta, IndonesiaPengabdianIndonesiaDinas/cabang TNI Angkatan DaratPangkat Brigadir Jenderal TNINRP14724KesatuanKesehatan (CDM) Brigadir Jenderal TNI (Purn.) dr. R. H. Amino Gondohutomo (26 Maret 1922 – 2 September 1987) merupakan seorang perwira tinggi kesehatan di Angkatan Darat Indonesia. Ia wafat pada tanggal 2 September 1987 di Jakarta.[1] P...

 

  لمعانٍ أخرى، طالع ضباب (توضيح). ضباب (رواية) Niebla   معلومات الكتاب المؤلف ميجيل دي أونامونو البلد إسبانيا اللغة الإسبانية تاريخ النشر 1914 النوع الأدبي رواية تعديل مصدري - تعديل   ضباب (بالإسبانية: Niebla) رواية من تأليف الأديب الأسباني ميجيل دي أونامونو، سنة 1907 (وتم إصد�...

 

American cartoonist (born 1956) Lynda BarryAt the 2010 Alternative Press ExpoBornLinda Jean Barry (1956-01-02) January 2, 1956 (age 67)[1]Richland Center, Wisconsin, U.S.NationalityAmericanArea(s)Cartoonist, WriterNotable worksErnie Pook's ComeekThe Good Times Are Killing MeOne! Hundred! Demons! Linda Jean Barry (born January 2, 1956), known professionally as Lynda Barry, is an American cartoonist. Barry is best known for her weekly comic strip Ernie Pook's Comeek. She garnered a...

 

Опис файлу Опис постер фільму «Сільська мозаїка» Джерело https://www.kino-teatr.ru/kino/movie/sov/15059/annot/ Час створення 1980 Автор зображення «Киргизфільм» Ліцензія див. нижче Обґрунтування добропорядного використання Обґрунтування добропорядного використання не вказано назву статті&#...

 

Shire of Ravensthorpe Local Government Area van Australië Locatie van Shire of Ravensthorpe in West-Australië Situering Staat West-Australië Hoofdplaats Ravensthorpe Coördinaten 33°36'ZB, 120°8'OL Algemene informatie Oppervlakte 13.551,1 km² Inwoners 2.085 (2021)[1] Overig Wards 3 Website (en) Shire of Ravensthorpe Portaal    Australië Shire of Ravensthorpe is een lokaal bestuursgebied (LGA) in de regio Goldfields-Esperance in West-Australië. Geschiedenis Het Philli...

 

Temen KondanganPoster filmSutradara Iip Sariful Hanan Produser Ferry Garink Ardiyan Tia Hendani Ditulis oleh Fauzan Indra Adisuko Rino Sarjono Skenario Fauzan Indra Adisuko Rino Sarjono Cerita Priesnanda Dwisatria Iip Sariful Hanan Pemeran Prisia Nasution Gading Marten Kevin Julio Reza Nangin Samuel Rizal Olivia Lubis Jensen Pierre Gruno Imelda Therinne Ovi Dian Sahira Anjani Yeslin Wang Iszur Muchtar Febby Febiola Diah Permatasari Chika Waode Oline Mendeng Deny Firdaus Ica Naga Melissa Karim...

 

MossPoster film Korea SelatanSutradara Kang Woo-Suk Produser Jung Sun-Young Ditulis olehYun Tae-ho (manhwa) Chung Ji-wooPemeranPark Hae-IlJeong Jae-young Yoo-SunPenata musikJo Yeong-wookSinematograferKim Sung-Bok Kim Yong HongPenyuntingKo Im-pyoDistributorCJ EntertainmentTanggal rilis 14 Juli 2010 (2010-07-14) Durasi163 menitNegara Korea SelatanBahasa Korea Moss (Hangul: 이끼; RR: Iggi) adalah film cerita getaran misteri Korea Selatan tahun 2010. Film ini di...

 

Fujiko YamamotoFujiko Yamamoto pada 1950Lahir11 Desember 1931 (umur 91)Osaka, JepangPekerjaanAktrisTahun aktif1953-kini Fujiko Yamamoto (山本 富士子code: ja is deprecated , Yamamoto Fujiko) (lahir 11 Desember 1931) adalah seorang pemeran film dan panggung asal Jepang. Ia tampil dalam lebih dari 100 film antara 1953 dan 1963.[1] Filmografi pilihan (十代の誘惑 Jūdai no yūwaku) (1953) The Romance of Yushima (1955) A Girl Isn't Allowed to Love (1955) Suzakumon (1957)...

 

1980 American horror film by William Lustig ManiacTheatrical release posterDirected byWilliam LustigScreenplay by C. A. Rosenberg Joe Spinell Story byJoe SpinellProduced by Andrew W. Garroni William Lustig Starring Joe Spinell Caroline Munro CinematographyRobert LindsayEdited byLorenzo MarinelliMusic byJay ChattawayProductioncompanyMagnum Motion Pictures Inc.Distributed byAnalysis Film Releasing CorporationRelease dates January 30, 1981 (1981-01-30) (New York City, New York...

 

American diplomat Aaron VailChargé d'Affaires of the United States to SpainIn officeMay 20, 1840 – August 1, 1842PresidentMartin Van BurenWilliam Henry HarrisonJohn TylerPreceded byJohn H. EatonSucceeded byWashington Irving10th Chief Clerk of the Department of StateIn officeJune 26, 1838 – July 15, 1840PresidentMartin Van BurenPreceded byAaron Ogden DaytonSucceeded byJacob L. MartinChargé d'Affaires of the United States to the United KingdomIn officeJuly 13, 1832&#...

 

Location of Dunklin County in Missouri This is a list of the National Register of Historic Places listings in Dunklin County, Missouri. This is intended to be a complete list of the properties and districts on the National Register of Historic Places in Dunklin County, Missouri, United States. Latitude and longitude coordinates are provided for many National Register properties and districts; these locations may be seen together in a map.[1] There are 8 properties and districts listed...

 

Anthony Winkler Prins (1817-1908), Ia adalah seorang penulis Encyclopedia Belanda yang pertama Anthony Winkler Prins (lahir, 31 Januari 1817 di Voorst, Belanda - meninggal, 4 Januari 1908 di Voorburg) adalah seorang penulis Belanda.[1] Winkler Prisns ini merupakan pimpinan redaksi dalam menuliskan Encyclopedia Belanda.[1] Winkler Prins mempelajari ilmu pengetahuan dan sastra di Universitas Utrecht dan mempelajar teologi di Mennonite Theological Seminary Universitas.[1]...

 

Men's Greco-Roman 87 kg at the 2019 European GamesVenueMinsk Sports PalaceDate29 June and 30 JuneCompetitors16 from 16 nationsMedalists  Zhan Beleniuk   Ukraine Islam Abbasov   Azerbaijan Viktor Lőrincz   Hungary Arkadiusz Kułynycz   Poland← 20152023 → Wrestling at the2019 European GamesFreestyleGreco-RomanWomen57 kg60 kg50 kg65 kg67 kg53 kg74 kg77 kg57 kg86 kg87 kg62 kg97 kg97 kg68 kg125 k...

 

2001 film by Kim Seong-su MusaTheatrical posterKorean nameHangul무사Hanja武士Revised RomanizationMusaMcCune–ReischauerMusa Directed byKim Sung-suWritten byKim Sung-suProduced byCha Seung-jaeShang XiaStarringAhn Sung-kiJung Woo-sungJoo Jin-moZhang ZiyiCinematographyKim Hyung-kooEdited byKim HyeonMusic byShirō SagisuDistributed byCJ EntertainmentRelease date September 7, 2001 (2001-09-07) Running time158 minutes133 minutes (international version)CountrySouth KoreaLanguages...

 

Swedish citizens of Italian descent Italian SwedesItalo-svedesi (Italian)Svenskitalienare (Swedish)Italian street vendor selling plaster work in Stockholm early 20th centuryTotal population19,087[1] 0.2% of the Swedish population (2012)[1]Regions with significant populationsStockholm and GothenburgLanguagesSwedish · Italian and Italian dialectsReligionRoman CatholicismRelated ethnic groupsItalians, Italian Belgians, Italian Britons, Italian Finns, Itali...

 

American hip hop musician Jarobi WhiteWhite performing at Pitchfork Music Festival in 2017Born (1971-07-01) July 1, 1971 (age 52)Queens, New York City, U.S.Occupation(s)Musician, ChefKnown forFounding member of A Tribe Called Quest Jarobi White (born July 1, 1971) is an American hip hop artist, chef, and a founding member of alternative hip hop group A Tribe Called Quest, alongside members Q-Tip, Phife Dawg, and Ali Shaheed Muhammad. He left the group after the release of their debu...

 

American action, comedy-drama television series Keen EddieGenrePolice proceduralComedy dramaCreated byJ. H. WymanStarringMark ValleySienna MillerJulian Rhind-TuttColin SalmonCountry of originUnited StatesOriginal languageEnglishNo. of seasons1No. of episodes13 (list of episodes)ProductionExecutive producersJ. H. WymanWarren LittlefieldSimon WestProduction locationsLondon, England, United KingdomCinematographyMartin KenzieRunning time44 minutesProduction companiesFrequency FilmsSimon West Prod...

 

Mathematical functions with specific symmetries Not to be confused with Even and odd numbers. The sine function and all of its Taylor polynomials are odd functions. This image shows sin ⁡ ( x ) {\displaystyle \sin(x)} and its Taylor approximations, polynomials of degree 1, 3, 5, 7, 9, 11 and 13. The cosine function and all of its Taylor polynomials are even functions. This image shows cos ⁡ ( x ) {\displaystyle \cos(x)} and its Taylor approximation of degree 4. In mathematics, e...

 

1992 American filmThe Opposite Sex and How to Live with ThemTheatrical release posterDirected byMatthew MeshekoffWritten byNoah SternProduced byStanley M. BrooksRobert F. NewmyerStarring Arye Gross Courteney Cox Kevin Pollak Julie Brown CinematographyJacek LaskusEdited byAdam WeissMusic byIra NewbornProductioncompaniesOnce Upon a Time FilmsOutlaw ProductionsDistributed byMiramax FilmsRelease dates April 10, 1992 (1992-04-10) (Limited) November 26, 1992 (1992-...

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Duke of Kendal – news · newspapers · books · scholar · JSTOR (April 2017) (Learn how and when to remove this template message) The titles of Earl of Kendal and Duke of Kendal have been created several times, generally for people with a connection to the English...