【发布时间】:2012-04-22 06:45:11
【问题描述】:
免责声明:我知道在 99% 的情况下,您不应“序列化”串联字符串中的数据。
你们在众所周知的情况下使用什么字符:
string str = userId +"-"+ userName;
在大多数情况下,我都退回到 | (管道)但是,在某些情况下,用户甚至会输入。像☼ (ALT+9999) 这样的“不可输入”字符呢?
【问题讨论】:
-
你能解释一下你为什么这样做吗?闻起来真是个坏主意。
-
假设我想加密一些数据并使用 HTTP 通过网络将其发送到移动应用程序。我没有时间设置花哨的序列化框架并希望尽快启动并运行......即我做 Context.Write(Encrypt("Param1|Param2|Param3"))
-
以下是一些使用轮子的说明:c-sharpcorner.com/UploadFile/bipinjoshi/… 抱歉,没时间聊天我要睡觉了。
-
谁说分隔符必须是单个字符?此外,如果您可以定义 userId 的范围,那么您可以(例如)假设直到第一个“-”之前的所有字符都是 userId,而第一个“-”之后的所有字符都是用户名。不用担心。
-
@Will 我知道 - 有很多方法可以解决这个“问题”,特别是因为它不是最佳实践。我问这个问题的主要原因是看看是否有人以非常健壮的方式“解决”了它(例如:使用 '\u12345' 因为它是最少使用的 Unicode 字符)。至于包含多个字符的分隔符 - 当然可以(喜欢stackoverflow.com/questions/1254577/…)。我只是在寻找可以毫不费力地跨不同平台和编程语言工作的最简单的解决方案 - 都有 String.Split(char)