我需要從整數列表中生成一個字節字符串(按照 的順序將它們通過套接字連接發送給C程序)。我試圖複製一些使用'struct'模塊的Python代碼。下面的Python代碼產生以下輸出:如何將字節數組轉換爲字符串
import struct
struct.pack('HHHH', 1, 2, 3, 4)
-->
'\x01\x00\x02\x00\x03\x00\x04\x00'
等效Lisp代碼產生以下輸出:
(ql:quickload :pack)
(pack:pack "HHHH" 1 2 3 4)
-->
#(1 0 2 0 3 0 4 0)
我怎樣才能此數組轉換爲字符串格式作爲由Python產生的相同的表示碼?
非常感謝,
大衛
非常感謝您的回覆Renzo。從評估中得到的結果是我記得在我的探索過程中使用其他方法生成的(不幸的是我現在找不到),所以我得到的結果是「^ A^@^B^@^C^@^D^@」。我沒有把它解釋爲等同於Python輸出。他們是一樣的嗎? – peebz
是的。 '^ @'是'\ x00'(全部爲零的字符),而'^ A'爲'\ x01'等。 – Renzo
你可以用' (格式t「〜a〜%」(char-code x))))(其中'a'是生成的字符串)。 – Renzo