1

我正在尝试使用 Web NFC 读取 NFC 标签。我已收到消息对象,我能够读取记录 message.records[0],但我无法获取存储在该 NFC 记录中的纯文本“Hello world”。

scanRfid.addEventListener("click", async () => {
  //curlog("User clicked scan button");

  try {
    const reader = new NDEFReader();
    await reader.scan();
   // curlog("> Scan started");

    reader.addEventListener("error", (event) => {
      console.log(`Argh! ${event.message}`);
    });

    reader.addEventListener("reading", ({ message, serialNumber }) => {
      
      //curlog(`> Records: (${message.records})`);
      //processMessage(message);
      console.log(message.records[0[);
      
    });
  } catch (error) {
    curlog("Argh! " + error);
  }
});
4

1 回答 1

0

https://web.dev/nfc/#read-and-write-a-text-recordTextDecoder中所述,可以使用具有记录编码属性的实例化来解码文本记录数据。请注意,文本记录的语言可通过其 lang 属性获得。

function readTextRecord(record) {
  console.assert(record.recordType === "text");
  const textDecoder = new TextDecoder(record.encoding);
  console.log(`Text: ${textDecoder.decode(record.data)} (${record.lang})`);
}
于 2020-12-15T11:33:10.077 回答