4

Adobe Presenter 7 から取得したこの文字列があります。これは suspend_data と呼ばれ、CMIString4096 型です (ドキュメントによる)。

CMIString4096 最大長が 4096 文字の ASCII 文字のセット。

これは文字列です:

aG1111111000000000BB001EC%2EacC%7E%24GS%2AayjHm110BKCBBB0B0EBAB1B1ED%2EicC%7E%24GS%2AlfkHm110BKDBCB0B0EBBB0B0EBAB1B1EE%2EwcC%7E%24GS%2ACBlHm100BKDB2BCBCDB1BABBDB0BBBADF%2E7cC%7E%24GS%2A4GmHm110BKBB0Ebl%C3%A1rRbl%C3%A1r%3Bgr%C3%A6nn%3Brau% C3%B0urB

いくつかの urlencoded 文字を含む base64 のように見えます。文字列を urldecode() すると、最後の数文字がデータに似ていますが、それは utf8 にあり、それを utf8_decode してこれを確認します。

aG1111111000000000BB001EC.acC~$GS*ayjHm110BKCBBB0B0EBAB1B1ED.icC~$GS*
lfkHm110BKDBCB0B0EBBB0B0EBAB1B1EE.wcC~$GS*CBlHm100BKDB2BCBCDB1BABBDB0BBBADF.
7cC~$GS*4GmHm110BKBB0EblárRblár;grænn;rauðurB

わかりました (最後に) いくつかのデータに近づいていますが、それでも混乱しているように見えます。base64_decode() すると、バイナリの混乱が発生しますが、それが何であるかはわかりません。

このデータが何であり、どうすればそれを理解できるか知っている人はいますか? 私はPHPを使用しているので、その中の関数のみが適用されます。

4

3 に答える 3

4

cmi.suspend_data フィールドに格納されたデータは、SCO (コンテンツ) が現在の状態を維持するために使用できる単なるデータのバケットです。データには意味的な意味や定義された構造はありません。多くの場合、データの意味は推測またはリバース エンジニアリングできますが、Adobe Presenter で作成されたコンテンツには当てはまらないようです。

suspend_data フィールドは 4096 ASCII 文字に制限されています。一部の SCO では、現在の状態を完全に維持するのに十分なストレージが提供されません。多くの場合、この苦境に直面したコンテンツ開発者は、制限されたサイズに圧縮するために状態データに圧縮アルゴリズムを適用します。それが、Adobe Presenter がここで行っていることのようです。私の推測では、あなたが見つけたエンコードされていない状態にデータを圧縮し、URL エンコードを適用して、結果のすべての文字が安全に LMS に送信されるようにしました。

サスペンドデータの先頭の 1 と 0 の文字列には何か意味があるのか​​もしれません。これは、コース内のどのスライドが学習者によって以前に表示されたかに対応している可能性があります。これを確認するには、SCORM TestTrack (scorm.com で無料で入手可能) などのツールを使用してコースを実行し生成されたデバッグ ログを使用して、ユーザーがコースを進めるにつれて中断データがどのように変化するかを確認すると役立つ場合があります。

SCORM は、コースの現在のステータスに関連する特定の意味を持つ他のかなりの数のデータ モデル要素を提供します。使用可能なすべてのデータ モデル要素のリストを次に示します。SCORM TestTrack デバッグ ログには、Adobe が提示するコンテンツが使用するデータ モデル要素も表示されます。

于 2009-06-03T17:21:52.493 に答える