ClozureCL1.9 で UTF-8 + BOM のテキストを作成したいのだがどうすればいいのかわからない。もうあきらめて、nkfかiconvを呼ぶか。
1. Clozure CL はデフォルトで UTF-8 + BOM に対応しているような、そうでもないような。環境がBOMいるならつけるみたいな書きかただったので、だめみたい。
2. babel(とbabel-stream)ならなんとかできる?
UTF-8Bに対応ってこれ?
(babel:string-to-octets "日本語" :encoding :utf-8b) ;-> #(230 151 165 230 156 172 232 170 158) (babel:string-to-octets "日本語" :encoding :utf-8) ;-> #(230 151 165 230 156 172 232 170 158)
ちょww
こうしろということですか?
vector-push .. え?
(coerce (cons 255 (cons 254 (coerce (babel:string-to-octets "日本語" :encoding :utf-8) 'list))) 'vector)
ちがった、#xEF, #xBBl, #xBFだった。
3. quicklisp で iconv をはっけーん
な、なんとこれでいける??
(ql:system-apropos "iconv") ;-> #<SYSTEM iconv / cl-iconv-20131111-git / quicklisp 2014-06-16>
(ql:quickload :iconv) ;; インストール途中で死亡
To load "iconv":
Load 1 ASDF system:
cffi
Install 2 Quicklisp releases:
cl-iconv iolib
; Fetching #
; 239.75KB
==================================================
245,499 bytes in 1.76 seconds (136.26KB/sec)
; Fetching #
; 4.67KB
==================================================
4,778 bytes in 0.07 seconds (65.83KB/sec)
; Loading "iconv"
[package iolib.asdf]..............................
[package iolib.conf]..............................
[package cffi-sys]................................
[package cffi-callbacks]..........................
[package cffi]....................................
..................................................
..................................................
[package cffi-features]...........................
[package iolib-grovel]...........
Invoking restart: Give up on "iconv"
(:ICONV)
4. ぐぐる
さらにぐぐると、 http://common-lisp.net/project/trivial-iconv/ と、http://d.hatena.ne.jp/rubikitch/20070713#1184333819 (iconv?)がみつかったけど。これはどうなんだろう?