如何通过JS去掉文本中的BOM头?

最近在写微信小程序,用到扫码功能的时候发现有个问题——如果对方生成的二维码是包含BOM字串的,那即便都是“你好世界”的字串,也都不相等……

图片描述

比如这个二维码,扫码后会得到一个字串,内容是“你好!世界!!!!”,它和静态的“你好!世界!!!!”看起来一样,但是扫码之后字串的第一个字符(scanedText[0])的值是一个不可见的字符

小程序的官方回复说建议我尝试更换二维码。
那么问题就来了,如果是扫码的话我不可能控制所有人都使用不包含BOM头的二维码,这就涉及到去除BOM这个字符的操作。

我先后尝试了以下方法:

scanedText.replace('\ufeff','');
scanedText.replace(String.fromCharCode('\ufeff', ''));

最终扫码到有包含BOM的时候scanedText[0]还是那个看不见的字符……

请问到底如何通过JS去掉这个该死的BOM头啊……

阅读 4.9k
2 个回答

想不到居然如此简单……

scanedText.replace(
    String.fromCharCode('65279'), ''
);

原来我多写了个u……

怎么生成含有bom头的二维码??

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏