问题:从程序稳定性和确保系统实际运行来看,使用像这样的字符有多安全¦
, §
or ‡
对于字符串中的复杂分隔符序列?我可以可靠地相信我不会在错误读取这些内容的程序中遇到任何问题吗?
我正在使用 C# 代码的系统中工作,在该系统中我必须在单个字符串中存储一组相当复杂的信息。该字符串的可读性仅在计算机端是必需的,最终用户只能在通过适当的方法解析该信息后才能看到该信息。由于这些字符串中的某些数据将是可变大小的集合,因此我使用不同的分隔符来标识字符串的哪些部分对应于特定的组织层。有足够多的情况表明;、|和类似的标准集已经用尽。我考虑过两个字符的分隔符,例如;#或;|,但我觉得这会非常低效。可能没有这么大使用一个字符与两个字符存储时存在性能差异,但是当我可以选择较小的选项时,选择较大的选项感觉就是错误的。
所以最后,我考虑使用双匕首和切片这样的字符集。它们只占用一个字符,并且它们肯定不会出现在我将存储的实际文本中,因此它们不会与任何内容混淆。
但字符编码很挑剔。虽然对最终用户的可见性毫无意义(因为实际上他们看不到它),但我最近开始担心系统中的程序将如何读取它。该字符串存储在一个数据库中,而一个单独的程序负责将字符串编码和解码为不同的对象类型,以供应用程序的其余部分使用。如果某些东西预计以一种方式编写,则可能以另一种方式编写,那么整个系统可能会失败,而我真的不能让这种情况发生。那么使用这些字符作为背景分隔符是否安全?
因为您必须将数据编码在字符串中,所以我假设这是因为您正在与其他系统进行交互。为什么不使用类似的东西XML http://en.wikipedia.org/wiki/XML or JSON http://en.wikipedia.org/wiki/JSON为此而不是发明自己的数据格式?
使用 XML,您可以指定使用的编码,例如:
<?xml version="1.0" encoding="UTF-8"?>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)