I'm not sure if this works quite as intended, but I was at least able to produce a UTF-16 decode error rather than a UTF-8 decode error by setting the file orientation before reading it.

    import std.stdio;
    import core.stdc.wchar_ : fwide;
    void main(){
        auto file = File("UTF-16LE encoded file.txt");
        fwide(file.getFP(), 1);
        foreach(line; file.byLine){
            writeln(file.readln);
        }
    }

fwide is not implemented in Windows: https://msdn.microsoft.com/en-us/library/aa985619.aspx


Reply via email to