Skip to content

Codepage GB18030 does not implement the latest version of the standard GB18030-2022 #91068

Open
@hpetith

Description

@hpetith

The latest version GB18030-2022 specifies three implementation levels building on each other. When testing my application on .NET 6, 7 and 8 for compliance with implementation levels 1 and 2, I found that there is only one missing bit that is not yet fulfilled by the current implementation in GB18030Encoding.cs. All other extensions mandated by GB18030-2022 implementation levels 1&2 perfectly work out of the box.

In detail, GB18030-2022 changes a set of code mappings to no longer point to private use area PUA, but rather to codes standardized by Unicode in the meantime. The changed mappings are nicely described in this blog post, section "No PUA Requirement". The Unicode consortium has a pragmatic proposal to implement the changed mappings only into one direction, for ease of transcoding into the standard.

With the missing bit implemented, the .NET codepage would be fully compliant with GB18030-2022 implementation levels 1&2.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions