0

使用中に読み取っているデータがいくつかread-lineあり、それをバイト配列に変換したいと考えています。babel:string-to-octetcharacter\byte が大きい場合 (200 以上) を除いて、ほとんどの部分で機能します。この場合、2 つの数値が返されます。例として、キャラクターが私が探しているものの代わりにリターンúを使用している場合。babel でいくつかのエンコーディングを試しましたが、どれもうまくいかないようです。babel:string-to-octet(195 185)250

私が使用した場合read-byte、またはread-sequenceそれが読み込まれた場合250。しかし、下位互換性の理由から、私は を使用することを余儀なくされておりread-line、 を使用して.babel:string-to-octetú250

私はccl 1.8 btwを使用しています。

4

1 に答える 1

0

ほとんどの common-lisp 実装でサポートされている文字は 256 文字を超えています。鳩の巣の原則により、すべての文字を 1 バイトに変換することはできません。

Lisp の内部文字コード 0 ~ 255 をバイトに変換したいだけなら、char-code を使えば望み通りのことができます。ただし、実装は内部で特定のエンコーディングを使用する必要がないため、結果は実装定義になります。

于 2012-10-12T00:47:56.940 に答える