Use multi-byte aware version of btoa

Fixes #108431
This commit is contained in:
Matt Bierner
2020-10-13 17:05:53 -07:00
parent 2794d33408
commit cafa01e041
2 changed files with 23 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ import { Disposable, DisposableStore, IDisposable, IReference } from 'vs/base/co
import { Schemas } from 'vs/base/common/network';
import { basename } from 'vs/base/common/path';
import { isEqual, isEqualOrParent, toLocalResource } from 'vs/base/common/resources';
import { multibyteAwareBtoa } from 'vs/base/common/strings';
import { URI, UriComponents } from 'vs/base/common/uri';
import * as modes from 'vs/editor/common/modes';
import { localize } from 'vs/nls';
@@ -347,7 +348,7 @@ class MainThreadCustomEditorModel extends Disposable implements ICustomEditorMod
private static toWorkingCopyResource(viewType: string, resource: URI) {
const authority = viewType.replace(/[^a-z0-9\-_]/gi, '-');
const path = '/' + btoa(resource.with({ query: null, fragment: null }).toString(true));
const path = '/' + multibyteAwareBtoa(resource.with({ query: null, fragment: null }).toString(true));
return URI.from({
scheme: Schemas.vscodeCustomEditor,
authority: authority,