VCF文件流到c#

时间:2013-04-11 10:30:52

标签: utf-8 character-encoding vcf

我有一个VCF文件,其中包含我的整个电话簿。我用记事本打开它,并通过StreamReader将数据传输到c#中的窗体。某些vcard条目包含如下行:

" N;字符集= UTF-8; ENCODING =引用打印:= 42 = 75 = 72 = 73 = 61 = 6 C = C4 = B1 = 4D = 75 = 73 = 74 = 61 = 66 = 61 ;;;"

看起来该行是UTF-8代码字符集,但我不知道如何将其转换为字符串。

感谢您的任何建议。

2 个答案:

答案 0 :(得分:1)

using System.Net.Mail;

class Test
{

    public static string QPDecode(String str, String encoding)
    {
        Attachment attachment = Attachment.CreateAttachmentFromString("", "=?" + encoding + "?Q?" + str + "?=");
        return attachment.Name;
    }


    public static void Main(string[] args)
    {

        Console.WriteLine(QPDecode("=42=75=72=73=61=6C=C4=B1;=4D=75=73=74=61=66=61", "UTF-8"));
        //Bursalı;Mustafa

    }

}

如何从您的文件中提取部分"UTF-8""=42=75=72=73=61=6C=C4=B1;=4D=75=73=74=61=66=61",请您继续练习:P

答案 1 :(得分:0)

属性值采用quoted-printable编码,这是一种标准编码机制。您可以找到一个可以为您解码的库。另外,请尝试this SO thread