nodejs/node
Voir sur GitHubTextDecoder does not error incorrectly for legacy byte sequences
Open
#40 091 ouverte le 12 sept. 2021
encodinggood first issue
Métriques du dépôt
- Stars
- (117 218 stars)
- Métriques de merge PR
- (Merge moyen 13j 4h) (233 PRs mergées en 30 j)
Description
Version
v16.9.1
Platform
Microsoft Windows NT 10.0.19043.0 x64
Subsystem
encoding
What steps will reproduce the bug?
Enter the following in the REPL:
new TextDecoder("Big5").decode(new Uint8Array([0x83, 0x5C])).charCodeAt(0).toString(16)
as well as
new TextDecoder("Big5").decode(new Uint8Array([0x83, 0x5C])).charCodeAt(1).toString(16)
How often does it reproduce? Is there a required condition?
Every time
What is the expected behavior?
fffd for the first, and 5c for the second (as in Firefox and Chrome, and per the WHATWG Encoding Standard)
What do you see instead?
f00e and NaN
Additional information
I suspect this has to do with you using ICU as-is, instead of properly patching it to match the Encoding Standard. There are probably more bugs like this.
@inexorabletash may be able to point to where in the Chromium source tree we keep our ICU encoding patches.