- From: François Beaufort via GitHub <sysbot+gh@w3.org>
- Date: Tue, 15 Oct 2019 13:33:09 +0000
- To: public-web-nfc@w3.org
> We need to find out how to handle the special text record > > ```js > const records = [ > { > recordType: "text", > lang: "en-US", > encoding: "utf-8", > data: encoder.encode("a text string"); > } > ]; > ``` > How about making optional `lang` (default to user agent default locale) and `encoding` (default to utf-8) and keeping `data` a string for "text" recordType? Note that this improvement is orthogonal to this issue, but still needed for "text" recordType as web developers needs to be able to set `lang` and `encoding`. ```js // Both would be equivalent for an english user. const records = [ { recordType: "text", lang: "en-US", encoding: "utf-8", data: "a text string", } ]; const records = [ { recordType: "text", data: "a text string", } ]; ``` For info, `createTextRecord` on Android uses UTF-8 while Core NFC (iOS) seems to use UTF-16 encoding. > We should throw when encoding is different from utf-8 on other text based records. Also throw on the wrong kind of utf-16 (as there are two :)) > > ```js > case "text": > console.log(`Text: ${new TextDecoder(record.encoding).decode(record.data)}, language ${record.lang}`); > break; > ``` Exposing those seems good to me. Thank you! -- GitHub Notification of comment by beaufortfrancois Please view or discuss this issue at https://github.com/w3c/web-nfc/issues/366#issuecomment-542213614 using your GitHub account
Received on Tuesday, 15 October 2019 13:33:11 UTC