Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Celik - cirilicna slova

[es] :: .NET :: Celik - cirilicna slova

[ Pregleda: 1056 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

anebojsa
Bgd

Član broj: 16174
Poruke: 94
*.dynamic.isp.telekom.rs.



Profil

icon Celik - cirilicna slova14.04.2023. u 14:43 - pre 12 meseci
Kod surname, kada je UnmanagedType.ByValTStr, ne vide se cirilicna slova
kada je UnmanagedType.LPUTF8Str vidi se cirilica, ali fale prva dva slova
i tog momenta se gube parentGivenName itd

Potrebna mi je pomoc oko prikaza cirilicnih slova

Uklanjao sam i CharSet = CharSet.Ansi i opet nista, ubacivao i Auto i Unicode i opet nista

SizeConst = EID_MAX_PersonalNumber + 1 - stavljeno da bi se video 13-ti broj

Latinicni podaci se normalnoo vide

Code:

        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
        public struct PEID_FIXED_PERSONAL_DATA
        {
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_PersonalNumber + 1)]
            public string personalNumber;
            public int personalNumberSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_Surname)]
            public string surname;
            public int surnameSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_GivenName)]
            public string givenName;
            public int givenNameSize;
            [MarshalAs(UnmanagedType.ByValTStr, SizeConst = EID_MAX_ParentGivenName)]
            public string parentGivenName;
            public int parentGivenNameSize;
            ...



 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Celik - cirilicna slova14.04.2023. u 20:05 - pre 12 meseci
Ta polja na žalost nisu stringovi u C#, nego nizovi bajtova. Ne može da se koristi automatika koju nudi .NET maršaler. Odgovarajući string se dobija tako što se podniz toga niza (čiju dužinu imaš u sledećem polju) konvertuje u string sa Encoding.UTF8.

Inače ima ceo jedan topik u kome je korisnik mmix objavio sors .NET biblioteku koji koristi Čelik API da pročita podatke. Vredi pročitati, čisto jer možeš da naletiš na neki problem koji je tu već spomenut. https://www.elitesecurity.org/...LR-Interop-Wrapper-za-CelikAPI

A negde na kraju tog topika napisao je da je napravio github repo sa svim izmenama koje se spominju na topiku, pa možeš to da preuzmeš i koristiš, što ti je možda i najbolja opcija, ili da proučiš sors za svoje potrebe: https://gitlab.com/wolf.group/mitro.celikcore . Kod je napisan na C++/CLI umesto na C#, ali može da se isprati, nije to mnogo komplikovano.

Samo obriši fajlove CelikNET.suo i CelikNET\CelikNET.vcxproj.user jer oni ne treba da stoje tu, nego treba tvoj Visual Studio automatski da ih generiše za tvoje okruženje.
 
Odgovor na temu

anebojsa
Bgd

Član broj: 16174
Poruke: 94
*.dynamic.isp.telekom.rs.



Profil

icon Re: Celik - cirilicna slova14.04.2023. u 21:23 - pre 12 meseci
Hvala
Citat:
Mihajlo Cvetanović: Ta polja na žalost nisu stringovi u C#, nego nizovi bajtova.

Resenje je kombinacija: UnmanagedType.ByValArray i public byte[] surname;

U tom slucaju ne treba dodavati + 1

SizeConst = EID_MAX_PersonalNumber

sad sve radi kako treba, hvala jos jednom

Code:

        [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]
        public struct PEID_FIXED_PERSONAL_DATA
        {
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = EID_MAX_PersonalNumber)]
            public byte[] personalNumber;
            public int personalNumberSize;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = EID_MAX_Surname)]
            public byte[] surname;
            public int surnameSize;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = EID_MAX_GivenName)]
            public byte[] givenName;
            public int givenNameSize;
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = EID_MAX_ParentGivenName)]
            public byte[] parentGivenName;
            public int parentGivenNameSize;
            ...

 
Odgovor na temu

DM2
Dusko Marinkovic
student

Član broj: 258807
Poruke: 2
*.pits.prointer.rs.



Profil

icon Re: Celik - cirilicna slova20.10.2023. u 12:37 - pre 6 meseci
Pozdrav svima,

Ovakav niz dobijem kako odgovor aplikacije koja cita licnu kartu
kao ovo prikazati u srpskoj cirilici ?

byte[] bytes = new byte[] {
0x0A, 0x06, 0x09, 0x00, 0x30, 0x31, 0x31, 0x34, 0x37, 0x33, 0x39, 0x33, 0x31, 0x09, 0x06, 0x03,
0x00, 0x53, 0x52, 0x42, 0x0B, 0x06, 0x02, 0x00, 0x49, 0x44, 0x0C, 0x06, 0x0B, 0x00, 0x49, 0x44,
0x30, 0x31, 0x31, 0x34, 0x37, 0x33, 0x39, 0x33, 0x31, 0x0D, 0x06, 0x08, 0x00, 0x33, 0x30, 0x30,
0x39, 0x32, 0x30, 0x32, 0x31, 0x0E, 0x06, 0x08, 0x00, 0x33, 0x30, 0x30, 0x39, 0x32, 0x30, 0x33,
0x31, 0x0F, 0x06, 0x17, 0x00, (byte) 0xD0, (byte) 0x9F, (byte) 0xD0, (byte) 0xA1, 0x20, (byte) 0xD0, (byte) 0x85,
(byte) 0xD0, (byte) 0x90, (byte) 0xD0, (byte) 0x89, (byte) 0xD0, (byte) 0x90, (byte) 0xD0, (byte) 0xA0, (byte) 0xD0,
(byte) 0x8B, (byte) 0xD0, (byte) 0x8E, (byte) 0xD0, (byte) 0x90, (byte) 0xD0, (byte) 0xA6, 0x10, 0x06, 0x02,
0x00, 0x53, 0x43, 0x11, 0x06, 0x02, 0x00, 0x53, 0x43
};
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Celik - cirilicna slova31.10.2023. u 18:34 - pre 5 meseci
Nije jasno otkud se stvorio ovaj niz bajtova, niti šta predstavlja. Koja je to "aplikacija koja čita ličnu kartu"? Kako to da je ovaj niz bajtova rezultat rada te aplikacije?
 
Odgovor na temu

mjanjic
Šikagou

Član broj: 187539
Poruke: 2712



+700 Profil

icon Re: Celik - cirilicna slova02.11.2023. u 17:39 - pre 5 meseci
Dešava se kad aplikacija, koja dobija podatke, nema ugrađenu logiku kako da interpretira niz bajta, i onda možda neke kontrolne i druge bajtove interpretira kao tekst, pa još ako ne prepoznaje UTF-8...
Blessed are those who can laugh at themselves, for they shall never cease to be amused.
 
Odgovor na temu

anebojsa
Bgd

Član broj: 16174
Poruke: 94
*.dynamic.isp.telekom.rs.



Profil

icon Re: Celik - cirilicna slova02.11.2023. u 20:22 - pre 5 meseci
moze li neko parce koda da vidimo o cemu se radi
 
Odgovor na temu

[es] :: .NET :: Celik - cirilicna slova

[ Pregleda: 1056 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.