iconv für powerpc

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

iconv für powerpc

Beitrag von olli96 »

Hat das schon jemand probiert?
Falls nicht, kann mir jemand dabei helfen, iconv für die dbox zu erstellen?

MfG
Olli96
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: iconv für powerpc

Beitrag von rhabarber1848 »

Was willst Du genau machen?
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

Ich will mit einem Script auf die fritz.box zugreifen.
Hierzu ist eine Umwandlung erforderlich ("iconv -f ISO8859-1 -t UTF-16LE")

MfG
Olli96
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: iconv für powerpc

Beitrag von rhabarber1848 »

Du wirst Dir ein eigenes Image bauen müssen, in dem
$prefix/cdkroot/bin/iconv enthalten ist. Das einfache
Kopieren der iconv-Binary in ein bestehendes Image
funktioniert wg. mklibs.py nicht:
/tmp # ./iconv
./iconv: relocation error: ./iconv: symbol textdomain, version GLIBC_2.0 not defined in file libc.so.6 with link time reference
Außerdem brauchst Du noch die Konvertierungstabellen aus
$prefix/cdkroot/lib/gconv/

Im Yadd sollte alles enthalten sein, es wäre die ideale
Testumgebung für Dein Vorhaben.
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

Danke, habe ein flash-Image nach dem "mit eigenem TOP und PS" Prinzip erstellt.
Das Konvertieren klappt noch nicht, liegt aber wohl an den Tabellen, habe da wohl noch die falschen ausgewählt.

MfG
Olli96
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

hmm, ich habe den Ordner /lib/gconv im Image, trotzdem werden aber nur einige Tabellen angezeigt.

Code: Alles auswählen

~ # iconv --list
The following list contain all the coded character sets known.  This does
not necessarily mean that all combinations of these names can be used for
the FROM and TO command line parameters.  One coded character set can be
listed with several different names (aliases).

  10646-1:1993, 10646-1:1993/UCS4, ANSI_X3.4-1968, ANSI_X3.4-1986, ANSI_X3.4,
  ASCII, CP367, CSASCII, CSUCS4, IBM367, ISO-10646, ISO-10646/UCS2,
  ISO-10646/UCS4, ISO-10646/UTF-8, ISO-10646/UTF8, ISO-IR-6, ISO-IR-193,
  ISO646-US, ISO_646.IRV:1991, OSF00010020, OSF00010100, OSF00010101,
  OSF00010102, OSF00010104, OSF00010105, OSF00010106, OSF05010001, UCS-2,
  UCS-2BE, UCS-2LE, UCS-4, UCS-4BE, UCS-4LE, UCS2, UCS4, UNICODEBIG,
  UNICODELITTLE, US-ASCII, US, UTF-8, UTF8, WCHAR_T
~ # 
Lösche ich den Ordner bleibt das Listing gleich :gruebel:

MfG
Olli96
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: iconv für powerpc

Beitrag von rhabarber1848 »

Vielleicht hilft der Ordner /share/i18n/charmaps/

Zum Nachinstallieren im Squashfs-Image könnte auch die Variable $I18NPATH helfen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: iconv für powerpc

Beitrag von seife »

Wenn du genau eine Konvertierung benötigst, ist iconv vielleicht ein wenig mit Spatzen auf Kanonen geschossen (oder so ähnlich).

Das sollte sich nach einem Blick auf die Codetabelle doch in wenigen Zeilen C oder C++ hinbekommen lassen...
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

Wie formatiere ich denn das um?
char -> ?

in ISO0859-t

Code: Alles auswählen

00000000h: 61 62 63 ; abc
a=61
b=61
c=63

in UTF-16LE

Code: Alles auswählen

00000000h: 61 00 62 00 63 00 ; a.b.c.
a=6100
b=6200
c=6300

so sieht es jedenfalls im hex-Editor aus... sieht aber komisch aus :-?

MfG
Olli96
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

Code: Alles auswählen

char A = 'a';
char B[10];

sprintf(B, "%x00", A);
ist das schon ausreichend?

MfG Olli96
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

Ich scheitere hier komplett :oops:

Eine Variable hat den Wert "abc"
ISO0859-t

Code: Alles auswählen

00000000h: 61 62 63 ; abc
Diese soll jetzt so konvertiert werden "a b c"
UTF-16LE

Code: Alles auswählen

00000000h: 61 00 62 00 63 00 ; a.b.c.
Kann mir jemand helfen, wie ich da mit C ansatzweise vorgehe?

MfG
Olli
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: iconv für powerpc

Beitrag von seife »

Code: Alles auswählen

char zero = 0x00;
for (int i=0; i < strlen(inputstring); i++)
{
    write(fd, &inputstring[i], 1);
    write(fd, &zero, 1);
}
oder so ähnlich, je nachdem wo du es hinhaben willst... Ist jetzt wirklich keine rocketscience ;)
Tricky ist, dass 0x00 in C halt auch "end of string marker" ist, du also mit Stringfunktionen etc. vorsichtig sein musst.
olli96
Interessierter
Interessierter
Beiträge: 24
Registriert: Donnerstag 10. September 2009, 08:17

Re: iconv für powerpc

Beitrag von olli96 »

Danke seife!

Ich will den String als Argument übergeben, so funktioniert es. sieht der Code gut aus?

Code: Alles auswählen

#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {
   char zero = 0x00;

   for (int i=0; i < strlen(argv[1]); i++) {
	putchar(argv[1][i]);
	putchar(zero);

   }
   return 0;
}
MfG
Olli