【问题标题】:clisp: encoding and decoding character sets without file I/Oclisp:编码和解码没有文件 I/O 的字符集
【发布时间】:2014-03-25 19:58:33
【问题描述】:

假设我有一个字节向量,其中包含使用 utf-8 编码的数据(尽管直到运行时我才会知道编码的名称)。如何将其解码为字符串?

一种方法是使用#'ext:write-byte-sequence 将数据输出到文件,然后转身用:external-format charset:utf-8 打开文件。但是有没有办法在没有临时文件的情况下做到这一点?

编辑 204-03-25 21:48:00 UTC

按照古代庄严习俗,特此支付给sds

【问题讨论】:

    标签: encoding utf-8 clisp


    【解决方案1】:

    31.5.7. Converting between strings and byte vectors

    编码也可用于根据该编码直接在字符串与其对应的字节向量表示之间进行转换。

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

    根据给定的编码,将向量(a(VECTOR (UNSIGNED-BYTE 8)))从头到尾的子序列转换为字符串,并返回结果字符串。

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

    根据给定的编码将字符串从开始到结束的子序列转换为(VECTOR (UNSIGNED-BYTE 8)),并返回结果字节向量。

    You now owe me 1 zorkmid. :-)

    【讨论】:

    • 确实如此。这很尴尬。我盯着那份文件,直到我脸色发青,来回看了好几遍。付款已被编辑到原始问题中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2012-07-05
    • 2012-07-05
    • 2014-05-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多