Skip to content

Implement UTF-8 <--> UTF-16 conversion in user mode. #4092

@german-one

Description

@german-one

Description of the new feature/enhancement

There are disparate UTF-8 parsers. One implemented in Utf8ToWideCharParser and one in UTF8OutputPipeReader. The latter makes it rather difficult to unify UTF-8 parsing because it combines reading from a pipe with the handling of partial code units.

Proposed technical implementation details (optional)

Get rid of UTF8OutputPipeReader, move the pipe reading back to ConptyConnection::_OutputThread().

Implement UTF-8 <--> UTF-16 conversion in user mode. Enable to toggle between ignoring invalid UTF-8 and replacing it with U+FFFD. See #3378

Implement a re-usable partials handling.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Area-CodeHealthIssues related to code cleanliness, linting, rules, warnings, errors, static analysis, etc.Area-PerformancePerformance-related issueArea-QualityStability, Performance, Etc.Issue-TaskIt's a feature request, but it doesn't really need a major design.Needs-Tag-FixDoesn't match tag requirementsProduct-ConhostFor issues in the Console codebaseResolution-Fix-CommittedFix is checked in, but it might be 3-4 weeks until a release.

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions