struct モジュールは、固定長の構造をサポートしていません.可変長文字列の場合は、お使いのオプションは、以下のとおりです. 動的( str が bytes に渡す前に pack() に変換する必要があります)あなたのフォーマット文字列を構築する. s = bytes(s, 'utf-8') # Or other appropriate encoding struct.pack("I%ds" % (len(s),), len(s), s) struct スキップして、ちょうどあなたの pack() -ED出力に文字列を追加するには、通常の文字列のメソッドを使用します. struct.pack("I", len(s)) + s 開梱のために、あなただけの時のビットを解凍する必要があります. (i,), data = struct.unpack("I", data[:4]),