2014-03-25 54 views
1

假設我有一個包含使用utf-8編碼的數據的字節向量(儘管我不會在運行時間之前編碼的名稱)。我如何將它解碼爲一串字符?clisp:對沒有文件I/O的字符集進行編碼和解碼

一種方法是使用#'ext:write-byte-sequence將數據輸出到文件,然後轉向並使用以下命令打開文件:external-format charset:utf-8。但有沒有辦法做到這一點,沒有一個臨時文件?

編輯204-03-25 21時48分零零秒UTC

所要求的古樸莊重的習慣,我在此支付SDSone zorkmid

+1

爲硬幣+1! :-) – sds

回答

2

31.5.7. Converting between strings and byte vectors

編碼,也可以用於根據該編碼直接在字符串和它們相應的字節向量表示之間進行轉換。

(EXT:CONVERT-STRING-FROM-BYTES vector encoding &KEY :START :END) 

矢量的子序列(一個(VECTOR (UNSIGNED-BYTE 8)))從開始轉換到結束爲字符串時,根據給定的編碼方式,並返回生成的字符串。

(EXT:CONVERT-STRING-TO-BYTES string encoding &KEY :START :END) 

字符串的亞序列從轉換開始端向(VECTOR (UNSIGNED-BYTE 8)),根據給定的編碼方式,並返回生成的字節向量。

You now owe me 1 zorkmid. :-)

+0

確實如此。這很尷尬。我盯着那份文件,直到我臉色發青,幾次來回走動。付款已被編輯爲原始問題。 –

相關問題