vCard数据格式,如下Spec描述所示,每行的格式为:属性名 [;该属性的参数]:值
因此,拿到一段vCard中的一行数据时,解析的过程如下:
1.先找到一行的“:”或“;”,符号之前的是这一行的PropertyName值;
2.若先找到的是“:”,则后面跟的就是PropertyValue;
3.若先找到“;”,则后面跟的是辅助信息PropertyParameters,如编码方式等;
3.1.继续向后找到“:”,则后面跟的就是PropertyValue;
4.最后找到这一行的结尾CR+LF,即“回车符”+“换行符”;
【vCard反馈格式不规范的情况处理】
手机异常时,下载电话本时,手机返回了一条异常vCard信息如下所示,Name这一栏(N)在正常情况下,只应该存在红色区域,但是,手机却在一行送出了三条Name信息(红+绿+蓝)。