A Byte order mark (BOM) inserted by writetable (xml export and xlsx export), why?
10 views (last 30 days)
Show older comments
A byte order mark (BOM) is inserted by writetable when exporting a table to a CSV file, using this command:
writetable(T, ‘T.csv’, 'Encoding', 'UTF-8')
This zero-length BOM character (U+FEFF) is seen in the following image taken from a text editor (showing invisibles), the BOM being pictured as a red dot (invisible character) at the very first position of the file content.
I can understand the logic behind inserting this BOM (helping read a text file with a specific encoding), even if I prefer the BOM addition to be optional.
What I don’t understand is the rationale of inserting a BOM in each tag of the same table, exported in XML format (see the red dots before each of the UNIX_TIMESTAMP tags).
It doesn't make sense to me. The UNIX_TIMESTAMP tags should not have a BOM, right? Or is there a particular reason?
PS: what would be the most efficient way to get rid of the BOM(s)?
PS2: the BOMs are also present in the UNIX_TIMESTAMP cell (cell A1) when exporting to XLSX. This is not right too. It should only contain a string with ASCII characters in the current case.
Many thanks
More Answers (0)
See Also
Categories
Find more on Other Formats in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!