ale*_*son 2 c c++ python string unicode
我在一个系统上工作,客户可以向我发送编码为utf-8的unicode字符串.在某些时候,我打包/序列化(C++)其数据使用一种逗号分隔列表,如:
fieldName:value,other fieldname:value, etc....
Run Code Online (Sandbox Code Playgroud)
该字符串是一个进程的goind,如果被python脚本捕获以提取字典:
{"fieldName":"value", etc..... }
Run Code Online (Sandbox Code Playgroud)
提取我使用简单的正则表达式re.compile(ur"(.*?):(.*?)(?:,|$)", re.UNICODE).但我知道用户可以使用,和:发送的字符串,所以我正在寻找可以在C++级别使用的最佳ASCII代码来替换我现在使用的逗号?
是\xF8(248)一个不错的选择,如果它必须有一些用户无法使用键盘输入!欢迎任何帮助和建议.
Mar*_*ers 12
我使用了一个ASCII字段分隔符控制代码 ; 它们的优点是它们具有标准化的含义:
^\ 28 1C FS ? File Separator
^] 29 1D GS ? Group separator
^^ 30 1E RS ? Record Separator
^_ 31 1F US ? Unit separator
Run Code Online (Sandbox Code Playgroud)
可以用作分隔符来标记数据结构的字段.如果用于层次级别,则US是最低级别(划分纯文本数据项),而RS,GS和FS的级别越来越高,以划分由其下级别项目组成的组.
或者使用像JSON或XML这样的真实格式.
使用JSON而不是内部格式.
理由:
$IFS在unix/posix系统上看到-hell.