1

我的内容包含多个 BOM (EF BB BF) 字符,我想删除它们。这些字符位于字符串的中间,我想简单地将它们全部删除。

数据来自我从 CKEditor 实例中获取的 JavaScript 源。然后我发布变量并将其作为字符串读取到我的后端,BOMS 就在那里。目前,它们按原样保留,但是当字符被解释并开始显示中间内容时,这会导致后处理错误。我怀疑它们来自复制粘贴到我的 CKEditor 中的东西。

我可以逐个字符地遍历字符串,但我不知道如何与 BOM 进行比较。是否可以比较字符串字节的十六进制值并比较三个字节序列?

4

2 回答 2

7

utf-8 BOM 字节被翻译成\ufeff. Unicode 字符“零宽度不间断空格”,看不到,听不到。过滤掉它们:

   var good = bad.Replace("\ufeff", "");
于 2012-10-23T09:50:27.583 回答
0

尝试以下操作:

CleanString = DirtyString.Replace("\u00EF\u00BB\u00BF", null);
于 2012-10-23T07:06:26.587 回答