前回の知見(文字コード変換関数をC++で用意する云々)を反映して、FFIを利用した、バイト列を文字列に変換するsbclのライブラリを作成した。 ・unsafe-conv(0.0.1) 対応している文字コードは、UTF-8、Shift_JIS、EUC-JPの三つ。UTF-8以外のC++の変換関数については、この記事の末尾を参照(UTF-8に関しては前回を参照)。 完成度はともかく、速度だけならsbclの対応する関数(sb-ext:octets-to-string)より一桁程度速い。 ;; 使える関数は一つだけ > (unsafe-conv:octets-to-string (sb-ext:string-to-octets "ライブラリ")) --> "ライブラリ" > (unsafe-conv:octets-to-string (sb-ext:string-to-octets "ライブラリ"