| 12345678910111213141516171819202122232425262728 |
- /*
- * noVNC: HTML5 VNC client
- * Copyright (C) 2019 The noVNC Authors
- * Licensed under MPL 2.0 (see LICENSE.txt)
- *
- * See README.md for usage and integration instructions.
- */
- // 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));
- }
|