@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();אני מניח את זה כאן, למקרה שעוד מישהו נתקל/צריך את זה.
עריכה: שכחתי את הדבר הכי חשוב, מקור
בעבר מישהו העלה אפליקציה שעושה את זה בחצי דקה וממירה לקובת אקסל [זה היה כאן או במתמחים טופ]
