Supports all single-byte encodings listed in the WHATWG Encoding standard:
ibm866, iso-8859-2, iso-8859-3, iso-8859-4, iso-8859-5, iso-8859-6, iso-8859-7, iso-8859-8,
iso-8859-8-i, iso-8859-10, iso-8859-13, iso-8859-14, iso-8859-15, iso-8859-16, koi8-r, koi8-u,
macintosh, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254,
windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic and x-user-defined.
Also supports iso-8859-1, iso-8859-9, iso-8859-11 as defined at
unicode.org
(and all other iso-8859-* encodings there as they match WHATWG).
Note
While all iso-8859-* encodings supported by the WHATWG Encoding standard match
unicode.org, the WHATWG Encoding spec doesn't support
iso-8859-1, iso-8859-9, iso-8859-11, and instead maps them as labels to windows-1252, windows-1254, windows-874. createSinglebyteDecoder() (unlike TextDecoder or legacyHookDecode()) does not do such mapping,
so its results will differ from TextDecoder for those encoding names.
> newTextDecoder('iso-8859-1').encoding 'windows-1252' > newTextDecoder('iso-8859-9').encoding 'windows-1254' > newTextDecoder('iso-8859-11').encoding 'windows-874' > newTextDecoder('iso-8859-9').decode(Uint8Array.of(0x80, 0x81, 0xd0)) '€\x81Ğ'// this is actually decoded according to windows-1254 per TextDecoder spec > createSinglebyteDecoder('iso-8859-9')(Uint8Array.of(0x80, 0x81, 0xd0)) '\x80\x81Ğ'// this is iso-8859-9 as defined at https://unicode.org/Public/MAPPINGS/ISO8859/8859-9.txt
All WHATWG Encoding spec windows-* encodings are supersets of
corresponding unicode.org encodings, meaning that
they encode/decode all the old valid (non-replacement) strings / byte sequences identically, but can also support
a wider range of inputs.
Decode / encode the legacy single-byte encodings according to the Encoding standard (§9, §14.5), and unicode.org
iso-8859-*mappings.Supports all single-byte encodings listed in the WHATWG Encoding standard:
ibm866,iso-8859-2,iso-8859-3,iso-8859-4,iso-8859-5,iso-8859-6,iso-8859-7,iso-8859-8,iso-8859-8-i,iso-8859-10,iso-8859-13,iso-8859-14,iso-8859-15,iso-8859-16,koi8-r,koi8-u,macintosh,windows-874,windows-1250,windows-1251,windows-1252,windows-1253,windows-1254,windows-1255,windows-1256,windows-1257,windows-1258,x-mac-cyrillicandx-user-defined.Also supports
iso-8859-1,iso-8859-9,iso-8859-11as defined at unicode.org (and all otheriso-8859-*encodings there as they match WHATWG).While all
iso-8859-*encodings supported by the WHATWG Encoding standard match unicode.org, the WHATWG Encoding spec doesn't supportiso-8859-1,iso-8859-9,iso-8859-11, and instead maps them as labels towindows-1252,windows-1254,windows-874.createSinglebyteDecoder()(unlikeTextDecoderorlegacyHookDecode()) does not do such mapping, so its results will differ fromTextDecoderfor those encoding names.All WHATWG Encoding spec
windows-*encodings are supersets of corresponding unicode.org encodings, meaning that they encode/decode all the old valid (non-replacement) strings / byte sequences identically, but can also support a wider range of inputs.