UTF-8 字节到字符串
UTF-8 bytes to string
我正在尝试将 '(110 111 101 204 136 108)
之类的列表转换为 "noël"
.
之类的字符串
我尝试使用 (mapcar (lambda (c) (decode-char 'unicode c)) '(110 111 101 204 136 108))
,但结果是 (110 111 101 204 136 108)
,与输入相同。 (此外,我认识到无法从 UTF-8 的单个字节解码 Unicode 字符,因此这绝对是错误的函数。)
几个选项...
(with-temp-buffer
(set-buffer-multibyte nil)
(apply #'insert '(110 111 101 204 136 108))
(decode-coding-region (point-min) (point-max) 'utf-8 t))
或:
(decode-coding-string
(mapconcat #'byte-to-string '(110 111 101 204 136 108) "")
'utf-8)
或更直接:
(string-as-multibyte
(apply #'unibyte-string '(110 111 101 204 136 108)))
我正在尝试将 '(110 111 101 204 136 108)
之类的列表转换为 "noël"
.
我尝试使用 (mapcar (lambda (c) (decode-char 'unicode c)) '(110 111 101 204 136 108))
,但结果是 (110 111 101 204 136 108)
,与输入相同。 (此外,我认识到无法从 UTF-8 的单个字节解码 Unicode 字符,因此这绝对是错误的函数。)
几个选项...
(with-temp-buffer
(set-buffer-multibyte nil)
(apply #'insert '(110 111 101 204 136 108))
(decode-coding-region (point-min) (point-max) 'utf-8 t))
或:
(decode-coding-string
(mapconcat #'byte-to-string '(110 111 101 204 136 108) "")
'utf-8)
或更直接:
(string-as-multibyte
(apply #'unibyte-string '(110 111 101 204 136 108)))