stringencoding
Version:
Encode to/from Typed Array buffers
27 lines (23 loc) • 1.35 kB
JavaScript
test(
function () {
var encodings = ["utf-8", "ibm864", "ibm866", "iso-8859-2", "iso-8859-3", "iso-8859-4", "iso-8859-5", "iso-8859-6", "iso-8859-7", "iso-8859-8", "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", "gbk", "gb18030", "hz-gb-2312", "big5", "euc-jp", "iso-2022-jp", "shift_jis", "euc-kr", "iso-2022-kr"];
encodings.forEach(function (encoding) {
var string = '', bytes = [];
for (var i = 0; i < 128; ++i) {
// Encodings that have escape codes in 0x00-0x7F
if (encoding === "hz-gb-2312" && i === 0x7E)
continue;
if (encoding === "iso-2022-jp" && i === 0x1B)
continue;
if (encoding === "iso-2022-kr" && (i === 0x0E || i === 0x0F || i === 0x1B))
continue;
string += String.fromCharCode(i);
bytes.push(i);
}
var ascii_encoded = TextEncoder('utf-8').encode(string);
assert_equals(TextDecoder(encoding).decode(ascii_encoded), string, encoding);
//assert_array_equals(TextEncoder(encoding).encode(string), bytes, encoding);
});
},
"Supersets of ASCII decode ASCII correctly"
);