在 Beyond Compare 中忽略非 UTF-8 字符
Ignore non UTF-8 characters in Beyond Compare
我的项目包括一些用非 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
但在这两种情况下,差异仍以红色标记(?与 � 或 ² 与 �)。我该如何解决?
如果字符是不可打印的字符,您可以在Beyond Compare 4的文本比较中使用十六进制值将它们定义为不重要的文本。
举个例子,假设字符是上标2,即平方符号,十六进制值为0x00B2。
- 在文本比较中加载文件。
- 单击“规则”工具栏按钮(裁判图标)。
- 在“重要性”选项卡中,单击“编辑语法”。
- 在语法选项卡中,单击 +。
- 元素名称:平方
- 文本匹配:\x{00B2}
- 检查正则表达式
- 单击“确定”。
- 单击“确定”。
- 在语法元素列表中,取消选中平方以使其不重要。
- 单击“确定”。
如果查看 | Ignore Unimportant Text 已打开,匹配 Squared 的差异将显示为匹配项(黑色)。如果关闭,匹配平方的差异将显示为蓝色。
在上述指令中,正则表达式 \x{nnnn} 匹配十六进制值为 nnnn 的字符。
参考文献:
Unicode Character Superscript 2
我的项目包括一些用非 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
但在这两种情况下,差异仍以红色标记(?与 � 或 ² 与 �)。我该如何解决?
如果字符是不可打印的字符,您可以在Beyond Compare 4的文本比较中使用十六进制值将它们定义为不重要的文本。
举个例子,假设字符是上标2,即平方符号,十六进制值为0x00B2。
- 在文本比较中加载文件。
- 单击“规则”工具栏按钮(裁判图标)。
- 在“重要性”选项卡中,单击“编辑语法”。
- 在语法选项卡中,单击 +。
- 元素名称:平方
- 文本匹配:\x{00B2}
- 检查正则表达式
- 单击“确定”。
- 单击“确定”。
- 在语法元素列表中,取消选中平方以使其不重要。
- 单击“确定”。
如果查看 | Ignore Unimportant Text 已打开,匹配 Squared 的差异将显示为匹配项(黑色)。如果关闭,匹配平方的差异将显示为蓝色。
在上述指令中,正则表达式 \x{nnnn} 匹配十六进制值为 nnnn 的字符。
参考文献:
Unicode Character Superscript 2