Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml 竖条(|)Unicode替换_Xml_Unicode_Csv_Separator - Fatal编程技术网

Xml 竖条(|)Unicode替换

Xml 竖条(|)Unicode替换,xml,unicode,csv,separator,Xml,Unicode,Csv,Separator,在我们的一个模块中,我们使用竖条(&&124;)字符作为字段分隔符。因此,用户不应在标题中使用此字符 如果他们真的使用它,我想用一个类似的字符来替换它 有Unicode替代品吗?我找到的唯一一个看起来与它相似的字符是断开的竖条(&166;)。Unicode中有一个:❘, 代码点U+2758我不明白您真正需要什么。是否需要将分隔符序列更改为保证不存在于数据集中的序列 如果是这样的话,那么Unicode的66个“非字符”代码点就是专门为此而设计的。您可以将它们用作内部哨兵,知道它们不能出现在有效数据

在我们的一个模块中,我们使用竖条
&&124;
)字符作为字段分隔符。因此,用户不应在标题中使用此字符

如果他们真的使用它,我想用一个类似的字符来替换它


有Unicode替代品吗?我找到的唯一一个看起来与它相似的字符是断开的竖条
&166;
)。

Unicode中有一个:❘, 代码点U+2758我不明白您真正需要什么。是否需要将分隔符序列更改为保证不存在于数据集中的序列

如果是这样的话,那么Unicode的66个“非字符”代码点就是专门为此而设计的。您可以将它们用作内部哨兵,知道它们不能出现在有效数据中

如果你只是在寻找一种视觉上的相似,那是非常不同的。我不建议这样做,因为有很多困惑。以下是其中的一些:

U+0007C‭ |  GC=Sm SC=公共垂直线
U+000A6‭ ΔGC=So SC=常见断条
U+002C8‭ ˈGC=Lm SC=常用修饰符字母垂直线
U+002CC‭ ˌGC=Lm SC=公共修饰字母低垂直线
U+02016‭ ‖  GC=Po SC=普通双垂直线
U+023D0‭ ⏐  GC=So SC=公共垂直线延伸
U+02758‭ ❘  GC=So SC=普通灯垂直杆
U+02759‭ ❙  GC=So SC=普通中等垂直杆
U+0275A‭ ❚  GC=So SC=普通重型立杆
U+02AF4‭ ⫴  GC=Sm SC=Common三重竖线二进制关系
U+02AF5‭ ⫵  GC=Sm SC=带水平冲程的普通三重垂直杆
U+02AFC‭ ⫼  GC=Sm SC=Common大型三重竖条运算符
U+02AFE‭ ⫾  GC=Sm SC=普通白色竖条
U+02AFF‭ ⫿  GC=Sm SC=普通N元白色竖条
U+0FF5C‭ | GC=Sm SC=公共全宽垂直线
U+0FFE4‭ ¦ GC=So SC=普通全宽断条

另见:

  • 拉丁字母U+01C0
  • 希伯来语标点符号paseq U+05C0
  • 除以U+2223
  • 轻型垂直杆U+2758

Unicode,甚至之前的ASCII,都有专门针对您的情况而设计的字符

有些字符被设计为用作:

  • 单元分隔符(
    ):记录的字段之间或行的成员之间
  • 记录分隔符(
    ):记录或行的结尾
注意:您看到的字符是视觉表示:

  • -单元分隔符的符号
  • :-记录分隔符的符号
实际上,你不应该使用这些角色(␟, ␞). 实际字符可追溯到ASCII日期:

Character         Symbol  ASCII  Unicode  Unicode name
----------------  ------  -----  -------  -------------------------
Unit separator        ␟  0x0F   U+001F   Information separator one
Record separator      ␞  0x1E   U+001E   Information separator two
遗憾的是,实际的记录分隔符和单位分隔符字符无法打印:

  • 字段分隔符:
  • 记录分隔符:
这就是为什么这些字符有符号的原因:

  • 字段分隔符:
  • 记录分隔符:
没有什么能阻止你使用这些字符:

AUD␟Australian dollar␟0.923␞
BRL␟Brazilian real␟0.3443␞
CNY␟Chinese renminbi␟0.1926␞
EUR␟European euro␟1.5009␞
JPY␟Japanese yen␟0.01229␞
MXN␟Mexican peso␟0.06894␞
NOK␟Norwegian krone␟0.154␞
RUB␟Russian ruble␟0.02074␞
CHF␟Swiss franc␟1.3448␞
GBP␟UK pound sterling␟1.6844␞
VND␟Vietnamese dong␟0.000057␞
我知道你说过你想要视觉上相似的东西。但是:

  • stackoverflow是一个wiki,我们在其中添加有用的信息
  • 对于一个给定的问题,有一个精确的解决方案是很好的

是Unicode。换成转义键入的
s怎么样?@MattBall,我的意思是用Unicode替换Ansi“|”字符,正如Juozas Domarkas所建议的那样。我不能使用转义(在我有限的时间内),但我知道这应该是正确的方法。到底什么是“Ansi”,无论如何?听起来像是又一个让人困惑且毫无意义的微软骗局。这毫无意义。请使用标准语言,而不是专有术语。@tchrist我想你的意思是
@ZigiZ
,但无论如何,“ANSI”在Windows世界是一个用词不当的词,被用作“Windows-1252”的同义词@MattBall是的,我修复了@ZigiZ位,但是你画得太快了。:)这是一个很好的答案,但是支持这个字符的字体有一个很大的限制:(我已经尝试过了(
❘;
)在IE9中,它显示了一个丑陋的正方形。我的朋友,这就是为什么我们使用转义字符。U+2502往往得到很好的支持。@ZigiZ字体支持无关紧要。我们在这里讨论的是代码点。始终严格按照数字进行操作,不要被最终用户呈现形式的变化所困扰。GUI与co无关de points。我跳转的目的是视觉上的相似。我不应该在我的问题中提到分隔符部分-我的错。(分隔符既不用于csv,也不用于xml,也不用于字段分隔符-太复杂,无法解释,所以我不会…)。但既然你提到了66个非字符代码点,那就很高兴知道它们是哪一个Unicode块。@ZigiZ 66个非字符代码点是“U+FDD0和U+FDEF之间的32个,以及34个代码点U+FFFE、U+FFFF、U+1FFFE、U+1FFF、…U+10FFFE、U+10FFFF。有些人错误地认为这些是“非法的”,但事实并非如此。一个应用程序或一组合作的应用程序可以合法地在内部随意使用它们;但这些代码点“对于开放交换是非法的”。“我使用“\t”选项卡