Unicode i C?

Elektronik- och mekanikrelaterad mjukvara/litteratur. (T.ex schema-CAD, simulering, böcker, manualer mm. OS-problem hör inte hit!)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Unicode i C?

Inlägg av speakman »

Funderar hur man på bästa sätt gör C-program helt Unicode-säkra.
Med UTF-8 kan man ju ha vanliga char arrays och de flesta vanliga kommandon i string.h. Men printf o.dyl. har ju inget direkt stöd för UTF-8 vilket gör att formaterad text hamnar skevt om man använder t.ex. %20s.

Alternativet är då %ls som då istället förväntar sig en wchar_t array.

wchar_t är idag 16 bitar vilket heller egentligen inte innefattar exakt hela Unicode, men till en stor del av den.

Frågan är hur man bör göra i sina program för att få dom "framtidssäkra"?

Hur hanterar ni Unicode?
Användarvisningsbild
Icecap
Inlägg: 26632
Blev medlem: 10 januari 2005, 14:52:15
Ort: Starup (Haderslev), Danmark

Inlägg av Icecap »

Mitt svar: inte ett skvatt!

Jag har ingen anledning till att använda Unicode och jag ser inte hur det "framtidssäkras" vid att använda det, det är ju en fråga för VAD programmet ska göra.

Det viktigaste för mig i de program som jag gör är att det INTE finns text vilket gör att jag kan nöja mig med att skriva ut värden med ISO-enheter vilket inte behöver vara Unicode.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Nu gällde det mer PC-liknande program.
Jag gör en del projekt med embedded Linux där jag även handhar en stor grafisk display.
Där ska det bl.a. stå enkla instruktioner på det språk som används på platsen, och det kan vara runt i hela Europa.
Därav mitt behov.

Har dock aldrig använt det i C-program själv rakt igenom, så det är rätt mycket att ta in från all dokumentation. Inte minst att ställa om sig för att räkna med variabla storlekar per tecken.
blueint
Inlägg: 23238
Blev medlem: 4 juli 2006, 19:26:11
Kontakt:

Inlägg av blueint »

Tror det viktigaste är att skapa rätt abstraktion så att man inte behöver göra stora ändringar senare pga tidigare missbedömningar ang unicode.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Fast man kan ju inte göra mer än vad kompilatorn tillåter, och L-prefixet är det enda jag känner till för att göra färdiga strängar i koden i Unicode.
Skriv svar