FFI wide-character type?

Yoshiki Ohshima yoshiki at squeakland.org
Tue Aug 15 03:26:04 UTC 2006


  Ron,

> aStream := MultiByteBinaryOrTextStream on: String new encoding: 'utf-16'.
> aStream converter useLittleEndian: true.
> aStream nextPutAll: 'abcde'.
> ^aStream
> 
> And it appears to work great except that the implementation of next throws
> it all away.  I'm guessing it will work for ms wide strings -> squeak just
> fine, but doesn't support squeak -> ms wide strings very well.  I figured
> I'd write an MSWideString class to support this properly.  Do you have any
> suggestions and/or am I missing something?

  If you have a ByteString that contains utf-16 encoded chars, 

  ret := aString convertFromWithConverter: (UTF16TextConverter new useLittleEndian: true).

should give you a correct ByteString or WideString.

  For that matter, the conversion to an external format can be:

  ret := 'abcde' convertToConverter: (UTF16TextConverter new useLittleEndian: true).

-- Yoshiki



More information about the Squeak-dev mailing list