我正在构建一个哈希键字符串(从地图折叠),其中的值由特殊的ASCII单位分隔符31(1F)分隔.
这很好地解决了试图猜测字符串值中不使用哪些ASCII字符的问题,我不需要担心转义或引用值等.
然而,阅读关于它的历史它似乎是20世纪60年代的遗物,我没有看到很多例子,其中字符串是使用这个特殊字符构建和标记的,所以这一切似乎都太容易了.
在现代应用程序中使用此分隔符是否有任何问题?
我目前正在非Unicode C++应用程序中执行此操作,但是我很想知道这通常适用于其他语言,例如Java,C#和Unicode.
较低的ASCII的128个字符映射完全固定在Unicode标准中,包括字符0-> 31。您不经常在字符串中看到特殊ASCII字符的唯一原因仅仅是由于人机接口的限制:当它们显示在屏幕上或写入文件时,它们不能很好地显示(如果有的话),并且您不容易从键盘输入它们。在各种流行的“人类可读”文件格式(例如XML)中,也不允许以未转义的形式显示它们。
但是,对于不需要最终用户交互的程序中的逻辑处理任务,它们非常适合您可以找到的用途。您的特定用法听起来很新颖且高效,我认为您绝对应该使用它。
| 归档时间: |
|
| 查看次数: |
886 次 |
| 最近记录: |