bal*_*dre 4 c# string .net-3.5
当我们想要出于任何原因拆分时,我们(至少我自己)倾向于使用(管道)|字符进行拆分,因为找到某人或者应用程序在字符串上使用它是非常罕见的...但是如果它使用会发生什么?
好吧,会抛出一个简单的崩溃 :)
我发现大学使用不可打印的字符来执行相同的技术,例如:
String.Format(
"{1}{0}{2}{0}{3}{0}{4}",
(char)2,
myFirstString,
mySecondString,
myThirdString,
myFourthString);
Run Code Online (Sandbox Code Playgroud)
当我们想要将孔串提取到它的部分时
String.Split((char)2);
Run Code Online (Sandbox Code Playgroud)
这样安全吗?我应该采用这种安全分裂字符串的方式吗?还有其他安全技术吗?
它可能比管道"更安全",因为它更少,但两种方式都不是最理想的,因为它们将您限制在可能的字符串的子集中.
考虑使用正确的编码 - 一种明确编码任意字符串列表的编码.编码方面最简单的可能就是简单地序列化string[].你可以使用BinaryFormatter或XmlSerializer或别的东西.
如果结果必须是一个字符串,并且它必须是一个短字符串,那么你可以尝试这样的事情:
!有!e一位|与!p每一个字符串.现在,没有一个字符串包含a |,您可以轻松地将其反转.|分隔符连接字符串.|角色.!p用|,并!e与!每一个字符串.这会恢复原始字符串.