Очевидно, вы определяете свой собственный байт-код. это не имеет ничего общего с синтаксисом / грамматикой .NET CIL, верно?
Если это так, и если вас интересует, как кодировать строки (в отличие от других инструкций, таких как переходы, циклы и т. Д.), Вы можете просто придумать для этого свою собственную «инструкцию».
Например, шестнадцатеричный код "01xx" может быть для строки, содержащей xx байтов (0 -255). Ваш переводчик языка будет затем обучен хранить эту строку в стеке (или там, где угодно) и перемещаться, чтобы декодировать следующий байт-код, расположенный на xx байт дальше по потоку байт-кода.
Если вас интересует, как смешать символьные данные и числовые данные в любом хранилище для байт-кода, укажите подробности, и, возможно, кто-то может помочь ...