Reading binary streams with decoding to Unicode
    Dukc 
    ajieskola at gmail.com
       
    Mon Oct 15 17:55:34 UTC 2018
    
    
  
On Monday, 15 October 2018 at 10:49:49 UTC, Vinay Sajip wrote:
> Is there a standardised way of reading over buffered binary 
> streams (at least strings, files, and sockets) where you can 
> layer a decoder on top, so you get a character stream you can 
> read one Unicode char at a time? Initially UTF-8, but later 
> also other encodings. I see that std.stream was deprecated, but 
> can't see what other options there are. Can anyone point me in 
> the right direction?
This is done automatically for character arrays, which includes 
strings. wchar arrays wil iterate by UTF-16, and dchar arrays by 
UTF-32. If you have a byte/ubyte array you know to be 
unicode-encoded, convert it to char[] to iterate by code points.
Vice-versa, if you want to iterate a character array by code 
unit, convert it to ubyte[]/ushort[] (depending on code unit 
length) or use std.utf.byCodeUnit
    
    
More information about the Digitalmars-d-learn
mailing list