删除 UTF-8 Azure 存储 Blob JSON 中的 BOM,留下无法使用的 JSON

问题描述

尝试从 Azure 存储帐户容器读取 blob 数据返回编码为带有 BOM 的 UTF-8 的数据。这只发生在一些 JSON 文件和一些 txt 文件中,但我还没有找到模式。某些文件在读取时会在 char 0 处返回 ∩╗┐,在 unicode 中是

U+2229 : INTERSECTION {cap,hat}
U+2557 : Box DRAWINGS DOUBLE DOWN AND LEFT
U+2510 : Box DRAWINGS LIGHT DOWN AND LEFT {Videotex Mosaic DG 17}

这不在创建 blob 时发送的原始数据中,似乎 Azure 正在添加它。我想我已经设法在开始时去掉了 BOM 并且能够解析字符串化的 JSON,但是出于某种奇怪的原因,每当我尝试在 JSON 中获取数据时,它都会返回未定义。据我所知,除了括号之外,JSON 中没有特殊字符。有没有人遇到过这种奇怪的 Azure blob 并阅读它们?我可以解决 unicode 字符将它们剥离出来的问题,但我留下了一个奇怪的无法使用的 JSON 对象。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)