手机电话号码本里面.vcf格式的文件,里面中文的保存编码是什么?

qq2013 2011-09-30 09:59:00
手机电话号码本里面.vcf格式的文件,里面中文的保存编码是什么?

黄仕.vcf 文件里面的内容是
BEGIN:VCARD
VERSION:2.1
N;CHARSET=UTF-8;ENCODING=QUOTED-PRINTABLE:=E9=BB=84=E4=BB=95
TEL;CELL:+8613211576255
END:VCARD


E9=BB=84=E4=BB=95对应是中文"黄仕"

请问怎么通过程序对这两种格式相互转换比如: 张三 对就是什么? =?=?=?=?=?=?

...全文
1218 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhoucong1020 2011-09-30
  • 打赏
  • 举报
回复
分两步说
第一步CHARSET=UTF-8,说明中文存放时编码为utf-8
先转换
byte[] byte_in = Encoding.UTF8.GetBytes("黄仕");

第二步ENCODING=QUOTED-PRINTABLE,上网查一下就知道这种编码方式了
Quoted-Printable编码的基本方法是:输入数据在33-60、62-126范围内的,直接输出;其它的需编码为“=”加两个字节的HEX码(大写)。
所以
        static string EncodeQuoted(byte[] str)
{
StringBuilder res = new StringBuilder();
for (int i = 0; i < str.Length; i++)
{
if (str[i] >= '!' && str[i] <= '~' && str[i] != '=')
{
res.Append(str[i]);
}
else
{
res.Append("=");
res.Append(((byte)str[i]).ToString("X"));
}
}

return res.ToString();
}
qq2013 2011-09-30
  • 打赏
  • 举报
回复
E9=BB=84=E4=BB=95对应是中文"黄仕"

请问怎么通过程序对这两种格式相互转换比如: 张三 对就是什么? =?=?=?=?=?=?
用途:使用excel编辑联系人,导出vcf文件,导入M8通讯录 ------------------------------------------------------------ 修正初始行定位问题 ------------------------------------------------------------ 功能: 1、vcf格式名片文件批量导入 2、自由编辑(Excel自身功能) 3、批量导出vcf格式文件 4、支持备注QUOTED-PRINTABLE编码解码 5、支持项目多值(多个工作电话号码,传真,QQ等) 备注: 1、关于备注项目的换行。 M8中录入带换行的备注,备份后,重新导入,换行丢失,可能是换行符windows,unix格式未转换的原因,估计是个M8系统Bug 2、关于相片 前期测试,将相片数据的base64位码导入excel单元格,由于数据太大,导入速度,处理速度无法满足要求。因本人不想在excel文件之外保存数据,因此此功能未实现,探索其它解决方案。 3、关于自定义铃声 M8导出的vcf文件,不含此项定义,无法通过vcf文件来实现。 4、关于vcf文件支持 以上功能,仅对M8系统(0.9.3.8)生成的vcf文件进行测试,因此无法确定是否对其它软件(设备)生成的vcf文件完全兼容。 使用说明 导入: 1、在M8上生成备份数据。进入到设备-系统-数据备份,选择备份,生成备份数据。 2、导入备份文件到Excel。连接USB数据线,点击Excel文件第一个工作表中的导入按钮,在打开文件对话框中,定位到M8/disk/backup/[日期时间]/contact目录,按ctrl+A,全选vcf文件,确定关闭对话框,完成文件导入。 导出: 1、完成数据录入编辑操作,点击Excel文件第一个工作表中的导出按钮,程序自动将文件生成到同位置的VCF_Backup目录下。 2、连接USB数据线,将VCF_Backup目录下的所有vcf文件复制到M8/disk/backup/[日期时间]/contact目录。(可以考虑清除原有的所有文件,如果没有此目录,请先执行M8备份操作) 3、断开USB数据线,执行M8数据恢复操作。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧