Summarized test results:
Encoding, miscellaneous

Intended audience: browser implementers, and anyone who wants to know whether browsers encode and decode according to the Encoding Specification indexes.

Updated

These tests check whether browsers encode and decode according to the miscellaneous algorithms at the end of the Encoding Specification.

To see the test, click on the link in the left-most column. To see detailed results for a single test, click on the link in the Details column and look just above the table. The detailed results show the date(s) the test result was recorded, and the version of the browser tested.

Any dependencies are shown in notes above the table, and notes below the table will usually provide any additional useful information, including an explanation of why a result was marked as 'partially successful'.

Results

Note that these test results are for released and nightly versions of the browsers tested. Versions that are still in development may provide better support for these features. The tests do not use any vendor prefixes.

Replacement

Note: the meta charset attribute was set to UTF-8 for the encoding tests in this section, since otherwise the test would not be read by the browser. The form used to create the test data has an accept-charset attribute set to the encoding we are testing, in order to create the test data in the right encoding, however that attribute doesn't appear to be recognized by Edge.


Test link Assertion Detail
csiso2022kr encoding (form)
replacement-encode-form-csiso2022kr.html
The browser produces UTF-8 code points for miscellaneous characters using the replacement encoder for csiso2022kr.
hz-gb-2312 encoding (form)
replacement-encode-form-hz-gb-2312.html
The browser produces UTF-8 code points for miscellaneous characters using the replacement encoder for hz-gb-2312.
iso-2022-cn-ext encoding (form)
replacement-encode-form-iso-2022-cn-ext.html
The browser produces UTF-8 code points for miscellaneous characters using the replacement encoder for iso-2022-cn-ext.
iso-2022-cn encoding (form)
replacement-encode-form-iso-2022-cn.html
The browser produces UTF-8 code points for miscellaneous characters using the replacement encoder for iso-2022-cn.
iso-2022-kr encoding (form)
replacement-encode-form-iso-2022-kr.html
The browser produces UTF-8 code points for miscellaneous characters using the replacement encoder for iso-2022-kr.
Replacement encoding (form)
replacement-encode-form.html
The browser produces UTF-8 code points for miscellaneous characters using the replacement encoder.
Test link Assertion Detail
csiso2022kr decoding
replacement-decode-csiso2022kr.html
If the browser tries to read an csiso2022kr file it will display a single replacement character.
hz-gb-2312 decoding
replacement-decode-hz-gb-2312.html
If the browser tries to read an hz-gb-2312 file it will display a single replacement character.
iso-2022-cn-ext decoding
replacement-decode-iso-2022-cn-ext.html
If the browser tries to read a iso-2022-cn-ext encoded file it will display a single replacement character.
iso-2022-cn decoding
replacement-decode-iso-2022-cn.html
If the browser tries to read a iso-2022-cn encoded file it will display a single replacement character.
iso-2022-kr decoding
replacement-decode-iso-2022-kr.html
If the browser tries to read an iso-2022-kr file it will display a single replacement character.
replacement decoding
replacement-decode.html
If the browser tries to read a file with the declared encoding replacement it will display a single replacement character.

Notes

  1. Firefox fails most of the encoding tests because the test produces no result. (This may be a good indicator.) The same tests crash the Firefox Nightly browser.

UTF-16BE


Test link Assertion Detail
UTF-16BE encoding (form)
utf16be-encode-form.html
The browser produces the expected byte sequences for a variety of miscellaneous characters when encoding bytes for a URL produced by a form, using the UTF-16BE encoder steps in the specification.
UTF-16BE encoding (href)
utf16be-encode-href.html
The browser produces the expected byte sequences for a variety of miscellaneous characters when encoding bytes for an href attribute value, using the UTF-16BE encoder steps in the specification.
UTF-16BE decoding index
utf16be-decode.html
The browser decodes miscellaneous characters as expected from a UTF-16BE file per the encoder steps in the specification.

Notes

  1. All browsers produce UTF-8 encoded percent escapes for the encoding tests.

UTF-16LE


Test link Assertion Detail
UTF-16LE encoding (form)
utf16le-encode-form.html
The browser produces the expected byte sequences for a variety of miscellaneous characters when encoding bytes for a URL produced by a form, using the UTF-16LE encoder steps in the specification.
UTF-16 encoding (form)
utf16-encode-form.html
The browser produces the expected byte sequences for a variety of miscellaneous characters when encoding bytes for a URL produced by a form, using the UTF-16 encoder steps in the specification.
utf-16LE encoding (href)
utf16le-encode-href.html
The browser produces the expected byte sequences for a variety of miscellaneous characters when encoding bytes for an href attribute value, using the utf-16LE encoder steps in the specification.
utf-16 encoding (href)
utf16-encode-href.html
The browser produces the expected byte sequences for a variety of miscellaneous characters when encoding bytes for an href attribute value, using the utf-16 encoder steps in the specification.
UTF-16LE decoding
utf16le-decode.html
The browser decodes miscellaneous characters as expected from a UTF-16LE file per the encoder steps in the specification.
UTF-16 decoding
utf16-decode.html
The browser decodes miscellaneous characters as expected from a UTF-16 file per the encoder steps in the specification.

Notes

  1. All browsers produce UTF-8 encoded percent escapes for the encoding tests.
  2. utf16le-decode: All browsers tested failed for 14 characters. The browsers appear to be normalizing the characters during decoding.

x-user-defined


Test link Assertion Detail
x-user-defined encoding (form)
user-encode-form.html
When encoding as x-user-defined for a form submission, the browser produces code points in the range 0x80 to 0xFF for characters in the range U+F780 to U+F7FF, and character references for other non-ASCII characters.
x-user-defined encoding (href)
user-encode-href.html
When encoding as x-user-defined for an href attribute value, the browser produces code points in the range 0x80 to 0xFF for characters in the range U+F780 to U+F7FF, and character references for other non-ASCII characters..
x-user-defined decoding errors
user-decode.html
The browser decodes characters in the range U+0080 to U+00FF as code points in the range U+F780 to U+F7FF.
x-user-defined decoding errors
user-decode-nonpua.html
If the label of a UTF-8 encoded file is changed to x-user-defined, the browser decodes characters outside the range U+0000 to U+007F as a sequence of private use code points in the range U+F780 to U+F7FF.

Notes

  1. All browsers produce UTF-8 encoded percent escapes for the encoding tests.
  2. utf16le-decode: All browsers tested failed for 14 characters. The browsers appear to be normalizing the characters during decoding.