SB3 ファイル形式とは?
Scratch 3で作成されたプロジェクトは .sb3 ファイルとして保存されます。このファイル形式は、ブロックベースのプログラミング学習プラットフォーム向けにMIT(マサチューセッツ工科大学)で開発されました。Scratchプロジェクトは、ストーリー、アニメーション、またはシンプルなゲームの形式をとることができ、プロジェクト全体は拡張子が変更された ZIPアーカイブ として保存されます。
.sb3 形式は、Scratch 2.0で使用されていた .SB2 ファイル、および最初のScratchリリースで導入されたオリジナルの .SB 形式に代わるものです。実験的なScratchXバージョンでは、プロジェクトに .sbx が使用されていました。
.sb3 ファイルにはどのようなデータが含まれますか?
Scratch 3.0以降で作成されたプロジェクトファイルには、完全なプロジェクトデータが含まれており、次のようなオブジェクトを保持できます:
- JSON 形式のスクリプト(すべてのブロック、スプライト、変数)
- グラフィックス、アイコン、コスチューム、その他のスプライト画像(PNG および SVG)
- オーディオファイル(WAV および MP3)。各ファイルはアーカイブ内のMD5コンテンツハッシュによって命名されています。
Scratchを使わずに .sb3 データにアクセスするには、ZIP形式をサポートするツールを使用してアーカイブを解凍できます。解凍ツールが認識できるように、抽出前に .sb3 拡張子を .zip に変更する必要がある場合があります。
Scratchでの .sb3 ファイルの管理
.sb3 は、オンラインアプリケーションおよびWindowsとmacOS用のScratch Desktopの両方で利用可能な、Scratch 3.0で使用されるデフォルトのプロジェクトファイル形式です。オンライン版を使用している場合は、ファイル → コンピューターに保存する を選択してプロジェクトをディスクに保存します。ディスクから .sb3 ファイルを開くには、同じメニューから ファイル → コンピューターから読み込む を選択します。
セキュリティと安全性
リスク: LOWSB3 は JSON とメディアファイルの ZIP であり、実行可能コードは含まれていません。Scratch 環境外で実行することはできません。Scratch VM はプロジェクトの実行をサンドボックス化します。悪意のある SB3 ファイルによる既知の脆弱性はありません。共有や検査は安全です。
形式の詳細
概要SB3 ファイルを開くプログラム
技術的詳細
詳細仕様| コンテナ形式 | ZIPアーカイブ(オフセット0のマジックバイト 50 4B 03 04、通常の `.zip` ファイルと同じ) |
| ルートマニフェスト | `project.json` - 完全なプロジェクトデータ(すべてのブロック、スプライト、変数、ステージ) |
| アセット命名規則 | コスチュームとサウンドは `{md5hash}.{ext}` として保存(例:`.png`, `.svg`, `.wav`, `.mp3`) |
| 圧縮 | ZIPエントリごとの DEFLATE |
| エンコーディング | 内部に UTF-8 JSON を含むバイナリ ZIP コンテナ |
| ステージ寸法 | 480 × 360 px 固定 |
| MIMEタイプ | `application/x.scratch.sb3` |
| 整合性 | エントリごとの ZIP CRC-32。アセットファイル名はファイル内容の MD5 ハッシュ |
| 一般的なファイルサイズ | 10 KB - 50 MB(スプライトのコスチュームやサウンドアセットに依存) |
| 最大アセットエントリ数 | ZIPの制限に準拠(ZIP64拡張なしで最大 65,535 ファイル) |
| 形式バージョン | Scratch 3.0 JSON スキーマ (sb3)。変換なしでは Scratch 2.0 (.sb2) と互換性なし |
| 導入時期 | 2019年1月2日(Scratch 3.0 公開開始) |
| 後方互換性 | Scratch 3.0 は .sb2 ファイルを自動変換して開くことが可能。Scratch 1.x の `.sb` ファイルは開けません |
| OS互換性 | Windows, macOS, Linux, ChromeOS, Android, iOS(ウェブブラウザ経由) |
| リリース日 | January 2, 2019 (Scratch 3.0 public launch) |
| 最新バージョン | Scratch 3.0 (ongoing; format stable since 2019) |
| 仕様書 | en.scratch-wiki.info |