On Sun 14 Feb 2016 23:18, Josep Portella Florit <j...@primfilat.com> writes:
> 'string->bytevector' throws 'encoding-error' when the encoding is > "UTF-16" and the length of the string is greater than 128. The same > for the encoding "UTF-32" and a string of length greater than 64. > > Tested on Guile 2.0.11 and 2.1.2 with the same result. > > How to reproduce: > > (use-modules (ice-9 iconv)) > > ;; These expressions evaluate as expected: > (string->bytevector (make-string 128 #\A) "UTF-16") > ;; => #vu8(254 255 0 65 0 65 ...) > (string->bytevector (make-string 64 #\A) "UTF-32") > ;; => #vu8(0 0 254 255 0 0 0 65 0 0 0 65 ...) > > ;; These expressions throw 'encoding-error': > (string->bytevector (make-string 129 #\A) "UTF-16") > (string->bytevector (make-string 65 #\A) "UTF-32") For what it's worth, this appears to be fixed in 2.1.3. However we should fix 2.0 as well. Andy