Что такое формат файла BAS?
.bas - это стандартное расширение файла для исходного кода на языке BASIC. BASIC (Beginners' All-purpose Symbolic Instruction Code) был создан в Дартмутском колледже в 1964 году и стал доминирующим языком программирования на домашних микрокомпьютерах 1980-х годов. Такие машины, как Apple II, Commodore 64 и IBM PC, поставлялись с интерпретаторами BASIC, которые сохраняли программы в виде файлов .bas.
Это расширение используется в нескольких различных диалектах:
- 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 и не содержит «магических байтов» - фиксированная сигнатура файла отсутствует, поэтому используемый диалект должен определяться на основе содержимого файла или контекста проекта. Заметным исключением являются старые файлы GW-BASIC, сохраненные без флага ASCII ,A, которые являются бинарными и не могут быть открыты как текст.
Поскольку .bas - это обычный текст, его может открыть любой редактор. IDE, такие как Visual Studio Code и Microsoft Visual Studio, обеспечивают подсветку синтаксиса и IntelliSense для современных модулей Visual Basic .bas.
Безопасность и защита
РИСК: MEDIUMФайл .bas - это исходный код; его чтение безвредно, но это программа. Компиляция и запуск неизвестного .bas выполняет содержащийся в нем код, а модули .bas для VBA могут содержать вредоносные макросы (распространенный вектор атак при импорте в Office). Прочитайте исходный код перед запуском или импортом и не запускайте код от ненадежных отправителей. Обычный просмотр в текстовом редакторе не несет риска.
Детали формата
в двух словах- Экспортированный модуль VBA / VB6 - Модуль кода, экспортированный из Microsoft Office VBA или Visual Basic 6, начинающийся с «Attribute VB_Name=».
- Токенизированная программа GW-BASIC / QuickBASIC - Старый BASIC для MS-DOS, сохраненный в сжатом бинарном токенизированном формате (не текст) программами GW-BASIC/QBASIC.
Программы, открывающие файлы BAS
Технические подробности
глубокая спецификация| MIME-тип | text/plain |
| Кодировка файла | Простой текст ASCII или UTF-8; существует токенизированный бинарный вариант для файлов GW-BASIC, сохраненных без флага `,A` |
| Магические байты / сигнатура файла | Отсутствуют - нет фиксированной последовательности байтов; используемый диалект должен определяться по содержимому файла или контексту проекта |
| Заголовок модуля VBA / VB6 | Экспортированные модули начинаются с `Attribute VB_Name = "ModuleName"`, за которым следуют объявления `Sub` и `Function` |
| Классический синтаксис с номерами строк | Каждый оператор начинается с номера строки (например, `10 PRINT "Hello"`, `20 GOTO 10`) в диалектах до QBasic |
| Современный блочный синтаксис | Структурированные блоки `Sub`, `Function` и `End Sub`, используемые в QBasic, VB6, FreeBASIC и PureBasic |
| Стили комментариев | Ключевое слово `REM` (все диалекты) или сокращение в виде апострофа `'` (QBasic и более поздние диалекты) |
| Чувствительность к регистру | Ключевые слова нечувствительны к регистру в большинстве диалектов BASIC; идентификаторы следуют тому же правилу |
| Модель выполнения | Интерпретируемый в классическом BASIC и QBasic; компилируемый (AOT) во 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 |
| Окончания строк | CRLF (`\r\n`) типично для инструментов BASIC на базе Windows; LF часто встречается в компиляторах на базе Unix, таких как FreeBASIC на Linux |
| Фрагментация диалектов | Единого стандарта не существует - GW-BASIC, QBasic, VB6, VBA, FreeBASIC, PureBasic, True BASIC и QB64 имеют несовместимые расширения синтаксиса |
| Выпущен | BASIC: 1964 (Dartmouth); .bas widely used since 1980s microcomputers |
| Открыть стандартное | Да · без роялти |
| Спецификация | learn.microsoft.com |
Конвертации BAS
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах BAS.