January 18, 2021
https://issues.dlang.org/show_bug.cgi?id=21557

          Issue ID: 21557
           Summary: std.encoding and std.utf do not use replacement char
                    consistently
           Product: D
           Version: D2
          Hardware: x86
                OS: Windows
            Status: NEW
          Severity: enhancement
          Priority: P1
         Component: phobos
          Assignee: nobody@puremagic.com
          Reporter: deadalnix@gmail.com

std.utf uses std.utf.replacementDchar, which seems is what unicode actually expects to happen.

However, std.encoding uses std.encoding.INVALID_SEQUENCE , defined here: https://github.com/dlang/phobos/blob/master/std/encoding.d#L481

This later value isn't the one expected by the unicode standard.

Additionally, the later value creates a problem because now there are two values to handle for replacement chars.

--