是否有特殊字符可以用来排序但不能显示?

是否有特殊字符可以用来排序但不能显示?

我们在强制按字母顺序排列的平台上有一个简短的文本字符串列表。我们希望有一个自定义顺序,不带前缀数字或其他分散注意力的字符(这是面向客户的菜单)。

例子:

  • 调查

  • 命令

  • ↓↓↓(添加一些不可见的前缀来实现所需的顺序)

  • 调查

  • 命令

我们可以在每个字符串前面加上某种特殊字符(Unicode?),这些字符要么根本就不会显示(但有助于排序),要么显示为相同宽度的空间(因此菜单项仍然看起来对齐)?

还有其他建议吗?

编辑于 2022-08-02:虽然我接受了 Máté Juhász 的回答,但下面是我发现的一些其他类型的字符。注 1:在 Windows 上,UNICODE 可以用作Alt+加号代码. 注 2:由于这些字符是不可见的,我将每个符号放在“ll”之间,以便更容易看到它们的宽度(它们的宽度在不同平台上可能不同,因此请先将它们复制到目的地以进行比较)。

与常规空格宽度相似的字符

UNICODE SYMBOL  DESCRIPTION  
0020    l l     SPACE - size: 1/4 em (f)  
202F    l l     NARROW NO-BREAK SPACE  
00A0    l l     NO-BREAK SPACE - size: 1/4 em  
2005    l l     FOUR-PER-EM SPACE (mid space) - size: 1/4 em  
200A    l  l        HAIR SPACE (need 2 of these)  
205F    l l     MEDIUM MATHEMATICAL SPACE - size: 2/9 em  
2009    l l     THIN SPACE  

零宽字符(小心,有些可能会影响您的文本):

UNICODE SYMBOL  DESCRIPTION  
2028    l
l     Line separator  
180E    l᠎l     Zero width mongolian vowel separator  
200B    l​l     Zero width space  
2029    l
l     Paragraph separator, careful  
0085    ll      Next line (nel), careful  
200C    l‌l     Zero width non-joiner  
FEFF    ll      Zero width no-break space  
2060    l⁠l     Word joiner  
200D    l‍l     Zero width joiner 

各种尺寸的隐形字符

UNICODE SYMBOL  DESCRIPTION  
3000    l l     Ideographic space  
2002    l l     En space  
2000    l l     En quad  
2001    l l     Em quad  
2003    l l     Em space  
2004    l l     Three-per-em space  
2006    l l     Six-per-em space  

答案1

你可能会使用零宽度空格

它的代码比字母大,因此没有该代码的文本是第一个,前面有一个零宽度空格的文本是第二个,前面有两个零宽度空格的文本是第三个,依此类推。

答案2

我不知道任何“空白”特殊字符,但我有“另一个”建议:我喜欢使用符号_,尤其是其他符号,+ # @并且z可能“堆叠”如_、等_____或与数字组合使用_1(但你不想要数字)。

扩展 Tetsujin 的评论:如果您不能在文件/文件夹开头使用空格(例如在 Windows 中),您可以_在前面使用一个符号,例如_ filename(一个空格)、_ filename(两个空格)等。

相关内容