跳到主要内容

text_direction_code_point_in_literal

Unicode 代码点 'U+{0}' 会改变文本的外观,使其与编译器解释的方式不同。

描述

#

分析器在遇到包含文本方向 Unicode 代码点的源代码时会产生此诊断信息。这些代码点会导致字符串字面量或注释中的源代码以与编辑器中显示不同的方式被解释和编译,从而可能导致安全漏洞。

示例

#

以下代码会产生两次此诊断信息,因为标签字符串的开头和结尾处存在隐藏字符

dart
var label = 'Interactive text';

常见修复

#

如果这些代码点旨在包含在字符串字面量中,请对其进行转义

dart
var label = '\u202AInteractive text\u202C';

如果这些代码点不旨在包含在字符串字面量中,请将其移除

dart
var label = 'Interactive text';