謎のコード「z」

悟空さんのユーザアバター

 「肉体百科」の方で、添付されたBSEデータが直接開けるかどうかのテストをしました。

 Grouptubeのようにマウスの左ボタンクリックで開く事のできる条件は、

 1・MS-DOSのBASEで作成されたBSEデータ。
 2・ブラウザがFirefox。

 この2つが満たされる場合です。

 で、直接開けるデータと開けないデータの間にどんな違いが有るか調べてみました。

 そこでわかった事は、開けるデータ、つまりBASEで作成したデータには、テキストエディタでNABCCコードを見た時、「EOF」の前に半角のスペースが有る事がわかりました。

base.jpg

 実はこれは半角のスペースでは有りません。このスペースをコピーして、PLEDと言うテキストエディタに貼り付けると、以下の画像のように「z」が表示されます。
 この謎の文字「z」はいったい何なのでしょう? 謎は深まるばかりです。

nazo.jpg

 Firefoxをお使いの方で試して見たいかたは、TST_3.BSEをテキストエディタで開き、「EOF」の前の半角スペース部分をコピーし、別のBSEデータの「EOF」の前に貼り付けると再現できます。

 ※ 添付ファイルの説明(右下の「添付ファイル(3)」をクリックしてください)

 TEST_1.BSE Windowsで作成したBSEデータ。
 TEST_2.BSE BASEで作成したBSEデータ。
 TEST_3.BSE Windowsで作成したBSEデータの「EOF」の前に、謎のコード「z」を貼り付けたデータ。

コメント

Replied
paragonさんのユーザアバター

謎のコードの正体?

こんにちは、悟空さん。

面白そうなのでちょっと探してみました。
全然知識もなく、あてずっぽうなので見当違いの話かもしれませんが。。。

まず、問題のコードをエクセルのコード関数で、ASCII文字コードを見てみたら
「26」(16進で「1a」)と出ました。
これをインターネットで検索するとASCII文字コードの00~1fは制御文字ということで、問題の「26」(16進で「1a」)はコード名=SUB【(EOF-End Of File) (SUBstitute character)】、意味=置換キャラクタ、ということです。
http://mikeneko.creator.club.ne.jp/~lab/kcode...

wikipediaの「テキストファイル」(の「制御文字」の所)によると
http://ja.wikipedia.org/wiki/%E3%83%86%E3%82%...

MS-DOSでは、テキストファイルの終端に制御文字として、ASCIIの置換文字 (SUB)を終端の次の1バイトに付加しファイルの終端を識別するのが一般的であった。

というわけで、謎のコードはMS-DOS時代のテキストファイルの終端につける制御コードということでしょうか?

PARAGON

Replied
悟空さんのユーザアバター

謎は深まるばかり

 なるほど、制御文字ですか。

 この制御コードが有ることによって、どうして、点訳エディタが起動するのか? どうしてFirefoxだけなのか? と言う謎が残りますね。

 それに、どうしてGrouptubeではできるのか? と言う謎も残ります。

                       悟空

Replied
宏海さんのユーザアバター

firefoxでtest3を左クリックで開くと直ちにTエデ

firefoxでtest3を左クリックで開くと直ちにTエディタが開いて読むことができました。

宏海

Replied
YUSAさんのユーザアバター

Re: 謎のコード「z」

半年前のネタにコメントを付けてどうするんだ?..ではありますが...、これはコントロールZと称する、End Of File(略称EOF)、テキストファイルの終端を表す制御コードです。

ロングロングアゴウの昔(CP/MやMS-DOS初期=ファイルサイズがバイト単位で管理されないシステムの時代)、テキストファイルの終端に1バイトのEOFコードとして0x1a(ASCII制御文字のSUB)を付加していました。

ファイルの頭から読んでいって、0x1aが出てきたら、そこでファイルの終わりと分かる仕組みです。

コードは処理系により異なります。スマート賢い処理系では、最初にファイルサイズを取得しますので、終端コードはあってもなくても問題なく、テキストエディタでも付けないことが多いです。

一般的にアプリの方で下位互換を取ることが多いので、この終端コートの有無くらいは、大抵、適切に処理されています。

>Grouptubeのようにマウスの左ボタンクリックで開く事のできる条件は、

で、本題の方は、よく分からないです。

Replied
悟空さんのユーザアバター

Re: 謎のコード「z」

 YUSAさん、こんにちは。

>で、本題の方は、よく分からないです。

 そうなんですよね。で、わかったからと言って何かの役にたつわけでも有りませんね。

                       悟空

コンテンツ配信 コンテンツ配信