weixin_39631755 2020-11-29 13:31
浏览 0

Optimized write-to-string does not work for unicode strings

I believe Bike said that already on irc clasp

lisp
;;; ansi-test write-to-string.1 simplified
(let ((unicode-string (make-array 4 :element-type 'character :initial-contents (mapcar #'code-char (list 40340 25579 40824 28331)))))
  (string=
   (with-output-to-string (s)(write unicode-string :stream s))
   (write-to-string unicode-string)))

(let ((unicode-string (make-array 4 :element-type 'character :initial-contents (mapcar #'code-char (list 40340 25579 40824 28331)))))
  (values
   (with-output-to-string (s)(write unicode-string :stream s))
   (write-to-string unicode-string)))

"\"鶔揫齸溫\""
"\"x\""

`

该提问来源于开源项目:clasp-developers/clasp

  • 写回答

5条回答 默认 最新

  • weixin_39631755 2020-11-29 13:31
    关注

    In core__get_thread_local_write_to_string_output_stream_string the StringOutputStreamOutputString(my_stream) = Str8Ns_O::createBufferString(128); doesn't look good, since it won't work for unicode-strings

    评论

报告相同问题?