@clickone כתב בשיתוף: איך לפענח את השם בעברית בקובץ VCard (*.vcf):
קובץ VCard הוא קובץ של אנשי קשר (בעיקר בטלפונים)
ומשום מה תמיד השם בעברית הגיע מקודד בצורה שלא הבנתי איך לשחרר, וגם רוב החבילות שיודעות לקרוא את הקובץ הזה לא הצליחו.
זה הקידוד (המילה דוגמא):=D7=93=D7=95=D7=92=D7=9E=D7=90
לקח לי הרבה זמן להבין מה זה הקידוד הזה
אז אחרי שיטוט וחיפוש בגוגל (לא יודע איך זה נעלם מעיני עד היום), צריך להחליף את הסימן שווה (=) באחוזים (%), ואז יוצא לנו בעצם טקסט UrlEncoded, ומשם הדרך להמרה מאד פשוטה.
קוד C# לדוגמא:
HttpUtility.UrlDecode((vcard.FirstName + " " + vcard.MiddleName + " " + vcard.LastName).Replace("=", "%"))
קוד C# מלא של המרת קובץ vcf לרשימה: (השתמשתי בחבילה של MixERP.Net.VCards)
var path = @"C:\Users\ClickOne\Dropbox\00002.vcf"; IEnumerable<VCard> vcards = MixERP.Net.VCards.Deserializer.Deserialize(path); vcards.Take(100).Select(v => new { name = HttpUtility.UrlDecode((v.FirstName + " " + v.MiddleName + " " + v.LastName).Replace("=", "%")) }).Dump();
אני מניח את זה כאן, למקרה שעוד מישהו נתקל/צריך את זה.
עריכה: שכחתי את הדבר הכי חשוב, מקור
בעבר מישהו העלה אפליקציה שעושה את זה בחצי דקה וממירה לקובת אקסל [זה היה כאן או במתמחים טופ]