سؤال

لذلك كنت قادرا على قراءة بعض القيم غير المضمونة من البطاقة الذكية الألمانية الرسمية.أنه يعمل بشكل جيد للأرقام والسلاسل ، ولكن لا أستطيع أن التفاف رأسي حول كيفية تفسير التواريخ.

يتم تحديد التاريخ الذي أريد قراءته على أنه تاريخ 4 بايت كما هو موضح في المواصفات: http://imgur.com/3jU8k

البايتات الأربعة التي قرأتها هي:

0x4f 0x41 0x8d 0x00 (hex)
0100 1111 0100 0001 1000 1101 0000 0000 (binary)

ويجب أن يمثل هذا التاريخ:20.02.2012 ثنائي:

20 - 0001 0100
02 - 0000 0010
2012 - 0111 1101 1100

واحد آخر:

0x58 0xAA 0x31 0x7f (hex)
0101 1000 1010 1010 0011 0001 0111 1111 (binary)

يجب أن تمثل:19.02.2017

19 - 0001 0011
02 - 0010
2017 - 0111 1110 0001

الرجاء مساعدتي في حل هذا اللغز الترميز


يمكن قراءة البيانات من البطاقة بواسطة برنامج تجاري ، لذلك أعتقد أن البيانات الأولية التي أحصل عليها قابلة للاستخدام بأي شكل من الأشكال.

للمهتمين:البائع لديه مواصفات ضخمة جدا التي بحثت عنها عدة مرات (http://eur-lex.europa.eu/LexUriServ/LexUriServ.do?uri=CELEX:32002R1360:DE:NOT متوفر بلغات متعددة) تم ذكر هيكل البطاقة لأول مرة في الصفحة 119

هل كانت مفيدة؟

المحلول

المواصفات المرتبطة تقول ذلك cardIssueDate هو من النوع TimeReal (القسم 2.20.).تحدد نفس المواصفات TimeReal كما عدد الثواني منذ 1970-01-01 00: 00: 00 بتوقيت جرينتش (أي. توقيت يونكس) المشفرة كما أسن.1 عدد صحيح (القسم 2.110.).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top