![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
No.8ベストアンサー
- 回答日時:
現在のコード体系やキーボードの元になっているタイプライターやテレタイプなどの機能から掘り起こせば一目瞭然です。
TABというのは、元々はタイプライターで一定の位置(0,8,16など8キャラクタおきの位置)にキャリッジを移動するためのキーで本来は、TABに割り当てられたキーはありましたが、紙の上に反映されるコードなどありませんでした。一方、スペースというのは、一桁何も印字せずに送るキーです。
これをそのままテレタイプ(タイプライターで作成した電文を、相手に伝えて相手側で印刷したり鑽孔テープにパンチする)に置き換えた際、この位置情報を何らかの方法で伝えないと、元の文のレイアウトが崩れてしまいます。初期にはスペースに置き換えていた例もありますが、これだと、8桁送るときには8キャラクタ必要になり電文の通信料が増えてしまいます。当時の通信速度は300CPM(毎分300文字)程度で回線費用も高額でした、ですから、スペースに変換するのはいかにも勿体なく、代わりにタブコードというのが生み出されたのです。タブに限らず、コントロールコード(CLR/CR/LFなども)の多くは、これに近い経緯で決まっています。
当初のタブはハードウェアタブで、位置は固定されていましたが、現在は自由位置に設定が可能です。
また、ホスト系のOSや言語処理系では、プログラムソースにタブを埋めこむことが出来ないため、TSS端末(IBM3270/FACOM6680等)などで作成したプログラムソースでは、保存時にタブは同じレイアウトになるようなスペースで勝手に置換されてしまいます。
まあ、これは、プリンターも実質は同様ですね。んさつしたぶんしょからタブなのかスペースなのかは読み取れませんから。
No.7
- 回答日時:
こんにちは。
みっちょです。もともと欧文文化に由来するので、一旦英語に直してみましょう。
(1)空白…Blank
(2)スペース…Space
(3)タブ…Tabulator
コンピュータ上の話でいくと、(2)と(3)の議論となります。
(1)はそこがSpaceであれTabulatorであれ、文字が空いている状態であればその意味に含むと言えるでしょう。
(2)はスペースバーを押したら出る文字(ASCIIコード0x20)です。通常の空白1文字を表そうと思えばこれを使います。普通に『空白』といえば多くの場合はこれを意味していると思われます。
(3)はタブキーを押したら出る文字(ASCIIコード0x09)です。こちらも1バイトですから、表示上はどうであれ、コンピュータの中で占める容量はスペースなど他の文字と同じです。しかし、タブはコントロールコードという中に含まれ、画面表示の際にカーソル位置を調整するのに使用されます。
スペースとタブをどう使い分けるべきなのか、扱い方はどう異なるのかという事になれば、タブの由来を知る必要があります。一度そのルーツであるタイプライタを打ってみれば解るのですが、タブキーを押すと文字を打ち出すキャリッジが一定間隔で決められた場所にジャキッ!!と移動します。TabはTabulatorの略で、そのTabulatorはテーブル(表)を作るものという意味なのです。もともと文字しか打てないタイプライターで表を表現するために、一定の間隔を空けて項目を効率よく打ち込むために準備されていました。
これは意味合い的にそのままコンピュータにも引き継がれたので、今でもテキストエディタなどでタブ文字を打つとそこで一定の場所まで空白が空くわけです。言ってしまえば、タブ文字というのは一定の次の決められた幅までカーソルを動かす、という機能を持った目に見えないコントロール文字であり、それをテキストエディタが読み込んだ際に、例えば8文字間隔であるとか4文字間隔であるとかの場所までカーソルを移動して次の文字の表示に入るわけです。よって、位置を揃えて下さいよ、という意味を示すものであり、そこに実際にスペース文字が挿入されるといったものでもなく、根本的にスペースとは色合いの違う物です。
よって、テキストベースで表などを作る際に項目位置を合わせるのにはタブを使用し、普通に文字の間を空ける際はやはりスペースを使う、というのが元来の目的に合った使い分けだといえるでしょう。ただし表示するエディタによってタブを何文字間隔に表示するかは違っていたりもするので、他の環境でも自分の意図した位置に正確に表示するようにするならばタブを使わずに全てスペースを使うのが良いかと思われます。
余談ですが、表形式のデータを保持するファイル形式にカンマ(,)で区切られたCSV(comma-separated values)ファイルというものがありますが、これと同様の目的でタブで区切られたTSV(tab-separated values)ファイルというものも使われます。中にはタブ文字で区切られて表の項目が羅列されて入っています。
こんな感じでいかがでしょうか?
No.6
- 回答日時:
あ、そっか
http://oshiete.goo.ne.jp/qa/6317976.html
これの「続き」か。
質問に「空白」とあったので、#1さんは半角スペースのことだと思って sedでの方法を答えた。
ここで「だめでした」とあったので、#3が半角スペース以外の可能性を考え、Perlで「全角スペースまで含めた空白」を削除するものにした。
sed等のコマンドでは、タブとスペースは明確に区別するのが普通ですが、オプションによっては違いを無視できます。
> 8行の連続する空白(タブ?)
8桁の連続する空白は、単に「8桁の連続する空白」です。
8桁分の連続する空白部分があって、それが1文字のタブ文字で構成されているときが「タブ」です。
No.5
- 回答日時:
スペースはASCIコード32(0x20)の文字で、通常キーボードのスペースキーで入力できます。
スペース1つで1文字分の空白を表示するのが普通です。
また、漢字一文字相当の空白を表示する「全角スペース」と呼ばれる文字もあります。それに対応して、上のスペースを「半角スペース」と呼ぶこともあります。
(全角/半角という呼び方は、文字の大きさから来ているので、文字毎に大きさを既定してないものにはそぐわない、という考えもあります)
タブ文字は、水平タブとも呼ばれるASCIIコード9の文字で、通常キーボードのTABキーで入力できます。
タブ一つで、タブストップと呼ばれる、決められた位置までが空白で表示されます。そのため、タブで項目の表示位置を縦に並べたりできます。
タブストップは通常、4文字毎、あるいは8文字毎ですが、環境によっては自由に決められます。
空白は、文脈によっていろんな意味があります。
・スペースと同じ
・「空白」を表示するスペースとタブを合せた呼び方
・上に加えて、改行文字など、通常は「文字」としての形が表示されない文字の呼び方
以上が文字としての説明ですが、他にも、本来の意味として使われるこもあります。
(行間:ラインスペース等)
使いわけもケースによるので一概には言えません。
例えば、Excelで読み書きできるテキスト形式に「タブ区切り」があります。これは、項目を区切るタブを、項目に含まれるスペースとで明確に使い分けられています。
C言語などのフリーフォーマットなものだと、改行まで含めた「空白」はすべて同じ扱いになりますが、全角スペースは通常の文字として扱われます。
テキストエディタによくある「空白文字表示」は、全角スペースも含めて「空白」の対象になります。
No.3
- 回答日時:
>どう使い分けるべきなのか、扱い方はどう異なるのか
No1の方の回答が、そのもので、それ以上でも、それ以下でもない。たぶん質問者は、プログラミング的にどう違うのかわかっていて(初めて分かった)、その感激を他人に伝えたかったのでしょう。
その気持ちは、良く分かります。だれかに言いたくなりますよね。世の中の摂理がわかると。
日本語のツリー構造は、
空白がTOPで、その下に、タブとスペースがある。空白とは、何も無い空間を意味します。なので、タブでスペースでも、どちらで埋めても、「空白」と表現します。
しかし、これが画像データーなどでは話が違ってきてしまう。ただし、こと文字列操作での空白とは、スペース(半角 or 全角の1文字にすぎない)を意味して、文字コードとしては、スペースもタブも違う文字コードです。なので、文字列として扱うと=で結ぶことはできません。
タブとは成型のためのスペースである事が、機能面から言える
(この用に説明すると、スペース=タブと勘違いする人がいる。きっと質問者もそのたぐいだったのでしょう)。
用は、この程度にしか意味ありません。これをあえて、質問にするということは、どう言うことか。分かった瞬間、他人に言いたくなることは、よくわかりますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) 適切なペンタブ(液タブ)を購入する方法が分かりません。 3 2023/06/24 10:44
- 食器・キッチン用品 ティファールでの調理の仕方について 4 2022/06/11 07:29
- タブレット パソコンから液タブと液晶に同じ画面を出したいのですが・・ 1 2023/01/18 16:53
- Excel(エクセル) セルの値をグーグルで検索するエクセルVBAについて! 2 2022/08/01 21:41
- くじ・懸賞 コカ・コーラの懸賞当選品について 2 2022/08/31 15:06
- 美術・アート 液タブかsurface proか、作画作業の面だけで比較をお願いします 2 2022/07/10 01:48
- その他(恋愛相談) 自分の事は知ってるけど、こちらが相手をあまり知らない時のLINEや対面の距離感について 大学3年生男 4 2022/08/07 19:22
- アニメ 何故今の映画やアニメを作る人は知識がないんですか?誰でも知ってることを全部入れるより一般では知られて 4 2023/01/21 14:52
- 農学 雑草多すぎてネギが育たない 3 2023/07/18 20:29
- Outlook(アウトルック) 【アウトルックメールについて教えて下さい】 パソコン音痴です。 会社のパソコンはインターネット接続さ 1 2023/04/08 09:54
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBA 見本通りに...
-
stray '\\240' in programのエ...
-
氏名の入力チェックに全角スペ...
-
教えてください
-
JavascriptでIMEのON,OFF制御
-
accesskeyに使える文字を全部教...
-
ホームページ制作でコピーライ...
-
入力されたテキストが、全角か...
-
改行されたデータをIEに貼り付...
-
インデントをスペースにするメ...
-
WZエディタ
-
Eclipseの空白が変な...
-
このプログラミングを書き換え...
-
外部JavaScriptで書き出す文字...
-
ASP.NET TextBox 入力制限
-
ASCII文字列以外を検出する正規...
-
AfterEffectsでイージーイーズ...
-
XMLを作成してもタグしか表示さ...
-
指定URLを新しいウィンドウで開...
-
「:」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBA 見本通りに...
-
ASP.NET TextBox 入力制限
-
JavascriptでIMEのON,OFF制御
-
ASCII文字列以外を検出する正規...
-
C#のシリアル通信プログラムで...
-
stray '\\240' in programのエ...
-
Pythonの勉強を始めました。バ...
-
ソースコードの改行文字は何に...
-
ボタンコントロールのTEXT...
-
ホームページ制作でコピーライ...
-
なぜtabによるインデントはいけ...
-
教えてください
-
JSONパース時に改行があるとエ...
-
accesskeyに使える文字を全部教...
-
Eclipseの空白が変な...
-
入力されたテキストが、全角か...
-
超初心者です。「順次実行」練...
-
JSで全角英数記号を半角英数記...
-
ローマ数字などの文字化け対策...
-
Firefoxでのテキストエリアに入...
おすすめ情報