cmi.core.lesson_location не возвращает ту же строку, что и в ней?

В настоящее время я разрабатываю оболочку для существующей LMS, чтобы сделать это жалобой SCORM. Для этой цели я использую cmi.core.lesson_location для хранения данных, связанных с курсом. Я знаю, что cmi.core.lesson_location хранит только 255 символов. Но когда я сопоставляю строку, содержащую более 200 символов, она возвращает мне усеченную строку.

Я не могу определить какой-либо шаблон каких-либо подобных проблем? Иногда он возвращает усеченную строку, заканчивающуюся%3 или что-то в этом роде. Есть ли какие-либо проблемы с кодированием при использовании cmi.core.lesson_location? Если так, то кто-нибудь может опубликовать их

Спасибо
Swaroop

3 ответа

Решение

Если ваша строка содержит не алфавитно-цифровые символы и в какой-то момент она кодируется URLE, каждый не буквенно-цифровой символ фактически становится 3 символами, а ваша строка усекается.

Вы можете использовать cmi.suspend_data вместо cmi.core.lession_location. Cmi.suspend_data может хранить больше данных.

Cmi.suspend_data должен хранить 4096 байт. LMS может хранить больше... или меньше байтов. Вы должны проверить это.

Другие вопросы по тегам