跳到主要內容

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';