【问题标题】:Ignore non UTF-8 characters in Beyond Compare忽略 Beyond Compare 中的非 UTF-8 字符
【发布时间】:2017-04-29 22:10:52
【问题描述】:

我的项目包括一些用非 UTF-8 字符(如平方符号)表示的度量单位。对于大多数编辑器,这些都显示为以下字符: �。

我将部分源代码与beyond compare 进行比较,我想忽略出现这些符号的情况。我尝试了这两种解决方案:

Beyond Compare - ignore certain text strings?

How do I make Beyond Compare ignore certain differences while comparing versions of Delphi Form Files

但在这两种情况下,差异仍然用红色标记(? vs � 或 ² vs �)。我该如何解决?

【问题讨论】:

    标签: utf-8 comparison diff beyondcompare beyondcompare4


    【解决方案1】:

    如果字符是不可打印的字符,您可以在 Beyond Compare 4 的 Text Compare 中使用十六进制值将它们定义为不重要的文本。

    例如,假设字符是上标 2,即平方符号,十六进制值为 0x00B2。

    1. 在文本比较中加载文件。
    2. 单击“规则”工具栏按钮(裁判图标)。
    3. 在“重要性”选项卡中,单击“编辑语法”。
    4. 在“语法”选项卡中,单击 +。
    5. 元素名称:平方
    6. 文本匹配:\x{00B2}
    7. 检查正则表达式
    8. 点击确定。
    9. 点击确定。
    10. 在语法元素列表中,取消选中 Squared 以使其不重要。
    11. 点击确定。

    如果查看 |忽略不重要的文本 已打开,匹配平方的差异将显示为匹配(黑色)。如果关闭,匹配 Squared 的差异将显示为蓝色。

    在上述说明中,正则表达式 \x{nnnn} 匹配具有十六进制值 nnnn 的字符。

    参考资料:

    Unicode Character Superscript 2

    Define Unimportant Text in Beyond Compare

    Beyond Compare Help - Regular Expression Reference

    【讨论】:

    • 好的,根据“忽略不重要的差异”标志,我实际上设法使符号显示为黑色或蓝色。但是,符号出现的光标上仍然有一条红线。有没有办法真正忽略这些类型的差异。
    • 可能需要问题的屏幕截图和一对示例文件来诊断此问题。如果您不想公开发布它们,请将它们发送到 support@scootersoftware.com 并附上此页面的链接,我们会进行调查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    • 1970-01-01
    • 2021-02-04
    • 2018-04-23
    • 1970-01-01
    相关资源
    最近更新 更多