我的内容包含多个BOM(EF BB BF)字符,我想删除它们。字符位于字符串的中间,我想简单地将它们全部删除。
数据来自JavaScript源代码,我从CKEditor实例获取。然后我发布变量并在后端读取它作为字符串,BOMS就在那里。现在,它们按原样保留,但是当解释字符并开始显示中间内容时,这会导致后处理错误。我怀疑它们来自于我的CKEditor复制的东西。
我可以通过char逐步查看字符串char,但我不知道如何与BOM进行比较。是否可以比较字符串字节的十六进制值并比较三个字节序列?
答案 0 :(得分:4)
utf-8 BOM字节转换为\ufeff
。 Unicode字符“零宽度不间断空间”,看不到它们,听不到它们。用以下内容过滤掉它们:
var good = bad.Replace("\ufeff", "");
答案 1 :(得分:0)
尝试以下方法:
CleanString = DirtyString.Replace("\u00EF\u00BB\u00BF", null);