BAS ファイル形式とは?
.basは、BASICソースコードファイルの標準的な拡張子です。BASIC(Beginners' All-purpose Symbolic Instruction Code)は、1964年にダートマス大学で作成され、1980年代のホームマイクロコンピュータにおいて主要なプログラミング言語となりました。Apple II、Commodore 64、IBM PCなどのマシンにはすべて、プログラムを.basファイルとして保存するBASICインタプリタが搭載されていました。
この拡張子は、いくつかの異なるダイアレクトで共有されています:
- GW-BASIC / QBasic / QB64 Phoenix Edition: クラシックなMicrosoft系のダイアレクトです。GW-BASICはプログラムをトークン化されたバイナリ形式(テキストとして読み取り不可)で保存できましたが、QBasicや現代のQB64はプレーンテキストの
.basファイルを使用し、しばしば10 PRINT «Hello»のようなレガシーな行番号が含まれます。 - Visual Basic 6 / VBA: スタンドアロンのコードモジュールは
.basとしてエクスポートされます。これらのファイルはAttribute VB_Name = «ModuleName»で始まり、その後にSubやFunctionの宣言が続きます。フォームモジュールは.frmを、クラスモジュールは.clsを代わりに使用します。 - FreeBASIC / PureBasic / True BASIC: これらは現代的なコンパイラで、それぞれ
.basを主要なソース形式として受け入れ、構造化およびオブジェクト指向コードをサポートしています。
.basファイルはMIMEタイプがtext/plainのプレーンテキストであり、magic bytes(マジックバイト)を持ちません。固定のファイルシグネチャがないため、適用されるダイアレクトはファイルの内容やプロジェクトのコンテキストから推測する必要があります。注目すべき例外は、«,A» ASCIIフラグなしで保存された古いGW-BASICファイルで、これらはバイナリでありテキストとして開くことはできません。
.basはプレーンテキストであるため、あらゆるエディタで開くことができます。Visual Studio CodeやMicrosoft Visual StudioなどのIDEは、現代的なVisual Basicの.basモジュールに対して構文ハイライトやIntelliSenseを提供します。
セキュリティと安全性
リスク: MEDIUM.basはソースコードです。閲覧すること自体は無害ですが、これはプログラムです。未知の.basをコンパイルして実行すると、そこに含まれる内容が実行されます。また、VBAの.basモジュールには悪意のあるマクロが含まれている可能性があります(Officeにインポートされた際の一般的なマルウェア感染経路です)。実行やインポートの前にソースを確認し、信頼できない送信者からのコードは有効化・実行しないでください。テキストエディタでの単純な閲覧にリスクはありません。
形式の詳細
概要- VBA / VB6 エクスポートモジュール - Microsoft Office VBAまたはVisual Basic 6からエクスポートされたコードモジュールで、«Attribute VB_Name=»で始まります。
- トークン化されたGW-BASIC / QuickBASICプログラム - GW-BASIC/QBASICによって圧縮バイナリトークン形式(テキストではない)で保存された古いMS-DOS BASICプログラム。
BAS ファイルを開くプログラム
技術的詳細
詳細仕様| MIMEタイプ | text/plain |
| ファイルのエンコーディング | ASCIIまたはUTF-8プレーンテキスト。«,A»フラグなしで保存されたGW-BASICファイルにはトークン化されたバイナリバリアントが存在します |
| マジックバイト / ファイルシグネチャ | なし - 固定のバイトシーケンスはありません。適用されるダイアレクトはファイルの内容やプロジェクトのコンテキストから推測する必要があります |
| VBA / VB6 モジュールヘッダー | エクスポートされたモジュールは`Attribute VB_Name = «ModuleName»`で始まり、その後に`Sub`および`Function`宣言が続きます |
| クラシックな行番号構文 | QBasic以前のダイアレクトでは、各ステートメントの前に`10 PRINT «Hello»`、`20 GOTO 10`のような行番号が付加されます |
| モダンなブロック構文 | QBasic、VB6、FreeBASIC、PureBasicで使用される構造化された`Sub`、`Function`、`End Sub`ブロック |
| コメントスタイル | `REM`キーワード(全ダイアレクト)または`'`アポストロフィの短縮形(QBasic以降のダイアレクト) |
| 大文字・小文字の区別 | ほとんどのBASICダイアレクトでキーワードは大文字・小文字を区別しません。識別子も同様の慣習に従います |
| 実行モデル | クラシックBASICおよびQBasicではインタプリタ方式。FreeBASICおよびPureBasicでは事前コンパイル方式。QB64 Phoenix EditionはCにトランスパイルしてからネイティブコンパイルします |
| 関連するモジュール拡張子 | `.frm` (VB6フォームモジュール), `.cls` (VB6クラスモジュール), `.vb` (VB.NETソース), `.vbs` (VBScript) |
| プラットフォームのサポート | 元々はMS-DOSおよびWindows。FreeBASICおよびQB64 Phoenix EditionはmacOSおよびLinuxもターゲットとしています |
| 言語パラダイム | クラシックおよびQBasicダイアレクトでは手続き型。VB6、FreeBASIC、PureBasicではオブジェクト指向の拡張が利用可能です |
| 改行コード | WindowsベースのBASICツールではCRLF (`\r\n`) が一般的。Linux上のFreeBASICなどのUnixベースのコンパイラではLFが一般的です |
| ダイアレクトの断片化 | 単一の標準は存在しません。GW-BASIC、QBasic、VB6、VBA、FreeBASIC、PureBasic、True BASIC、QB64はそれぞれ互換性のない構文拡張を持っています |
| リリース日 | BASIC: 1964 (Dartmouth); .bas widely used since 1980s microcomputers |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | learn.microsoft.com |
BAS の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。BAS ファイルについて最初の質問をしてみましょう。