29 lines
745 B
JavaScript
Raw Normal View History

2020-06-06 18:55:47 -07:00
/*
* noVNC: HTML5 VNC client
2021-11-29 12:08:15 -08:00
* Copyright (C) 2019 The noVNC Authors
2020-06-06 18:55:47 -07:00
* Licensed under MPL 2.0 (see LICENSE.txt)
*
* See README.md for usage and integration instructions.
*/
2021-11-29 12:08:15 -08:00
// Decode from UTF-8
export function decodeUTF8(utf8string, allowLatin1=false) {
try {
return decodeURIComponent(escape(utf8string));
} catch (e) {
if (e instanceof URIError) {
if (allowLatin1) {
// If we allow Latin1 we can ignore any decoding fails
// and in these cases return the original string
return utf8string;
}
}
throw e;
}
}
// Encode to UTF-8
export function encodeUTF8(DOMString) {
return unescape(encodeURIComponent(DOMString));
2020-06-06 18:55:47 -07:00
}