Attach (recommended) or Link to PDF file here:

[Actually downloaded from <https://github.com/pdf-association/pdf20examples/raw/master/pdf20-utf8-test.pdf>](https://github.com/mozilla/pdf.js/files/7871477/pdf20-utf8-test.pdf)


Configuration:
- Web browser and its version: _Firefox 96_.
- Operating system and its version: _Windows 7_.
- PDF.js version: the one that comes with _Firefox 96_.
- Is a browser extension: I think so.

Steps to reproduce the problem:
1. Open the file metadata, bookmarks and layers are displayed wrong.
2. The explanation on how this works for PDF-2 seems to be https://www.pdfa.org/understanding-utf-8-in-pdf-2-0/. 

What is the expected behavior? (add screenshot)

Right character display.

What went wrong? (add screenshot)

Link to a viewer (if hosted on a site other than mozilla.github.io/pdf.js or as Firefox/Chrome extension):

expect(isArrayBuffer(new ArrayBuffer(0))).toEqual(true);
      expect(isArrayBuffer(new Uint8Array(0))).toEqual(true);
    });
    it("handles non-array buffer values", function () {
      expect(isArrayBuffer("true")).toEqual(false);
      expect(isArrayBuffer(1)).toEqual(false);
      expect(isArrayBuffer(null)).toEqual(false);
      expect(isArrayBuffer(undefined)).toEqual(false);
    });
  });
  describe("isBool", function () {
    it("handles boolean values", function () {
      expect(isBool(true)).toEqual(true);
      expect(isBool(false)).toEqual(true);
    });
    it("handles non-boolean values", function () {
      expect(isBool("true")).toEqual(false);
      expect(isBool("false")).toEqual(false);
      expect(isBool(1)).toEqual(false);
      expect(isBool(0)).toEqual(false);
      expect(isBool(null)).toEqual(false);
      expect(isBool(undefined)).toEqual(false);
    });
  });
  describe("isNum", function () {
    it("handles numeric values", function () {
      expect(isNum(1)).toEqual(true);
      expect(isNum(0)).toEqual(true);
      expect(isNum(-1)).toEqual(true);
      expect(isNum(1000000000000000000)).toEqual(true);