我们在其中一个模块中使用竖线字符作为字段分隔符。所以用户不应该在标题中使用这个字符。
如果他们真的使用它,我想用一个类似的字符替换它。
是否有Unicode替代品?我发现的唯一一个与之相似的字符是断开的竖线。

最佳答案

我不明白你到底需要什么。是否需要将分隔符序列更改为保证数据集中不存在的内容?
如果是这样的话,那就是Unicode的66个“非字符”代码点专门为之设计的。您可以将它们用作内部哨兵,知道它们不能出现在有效的数据中。
如果你只是在寻找一个视觉上相似的,那是非常不同的。我不建议这么做,因为有很多可混淆的东西。以下是其中的一些:

U+0007C ‭ |  GC=Sm SC=Common       VERTICAL LINE
U+000A6 ‭ ¦  GC=So SC=Common       BROKEN BAR
U+002C8 ‭ ˈ  GC=Lm SC=Common       MODIFIER LETTER VERTICAL LINE
U+002CC ‭ ˌ  GC=Lm SC=Common       MODIFIER LETTER LOW VERTICAL LINE
U+02016 ‭ ‖  GC=Po SC=Common       DOUBLE VERTICAL LINE
U+023D0 ‭ ⏐  GC=So SC=Common       VERTICAL LINE EXTENSION
U+02758 ‭ ❘  GC=So SC=Common       LIGHT VERTICAL BAR
U+02759 ‭ ❙  GC=So SC=Common       MEDIUM VERTICAL BAR
U+0275A ‭ ❚  GC=So SC=Common       HEAVY VERTICAL BAR
U+02AF4 ‭ ⫴  GC=Sm SC=Common       TRIPLE VERTICAL BAR BINARY RELATION
U+02AF5 ‭ ⫵  GC=Sm SC=Common       TRIPLE VERTICAL BAR WITH HORIZONTAL STROKE
U+02AFC ‭ ⫼  GC=Sm SC=Common       LARGE TRIPLE VERTICAL BAR OPERATOR
U+02AFE ‭ ⫾  GC=Sm SC=Common       WHITE VERTICAL BAR
U+02AFF ‭ ⫿  GC=Sm SC=Common       N-ARY WHITE VERTICAL BAR
U+0FF5C ‭ | GC=Sm SC=Common       FULLWIDTH VERTICAL LINE
U+0FFE4 ‭ ¦ GC=So SC=Common       FULLWIDTH BROKEN BAR

09-07 09:34