ANSI C, UTF-8, fgetc und co.
-
Hallo,
unter Linux kann man eine utf-8 kodierte Textdatei einlesen und diese mit printf in der Konsole anzeigen.
Wie ist das mit den Befehlen wie fgetc, strchr usw. werden da auch Zeichen, die aus mehreren Bytes bestehen intern automatisch umgewandelt?
Wie ist das mit dem ++ Operator, werden automatisch 3 Bytes übersprungen, wenn ein Zeichen aus 3 Bytes besteht - wenn ich ihn auf einen char* anwende?MfG
utf-8 n00b
-
AFAIK wird sizeof(char) übersprungen.
Aber schaut dir mal wchar_t an...
http://www.chemie.fu-berlin.de/chemnet/use/info/libc/libc_18.htmlmfg Branleb
-
utf-8 n00b schrieb:
Wie ist das mit den Befehlen wie fgetc, strchr usw. werden da auch Zeichen, die aus mehreren Bytes bestehen intern automatisch umgewandelt?
Wie ist das mit dem ++ Operator, werden automatisch 3 Bytes übersprungen, wenn ein Zeichen aus 3 Bytes besteht - wenn ich ihn auf einen char* anwende?Nein.
Schau dir mal die Unicode FAQ an
http://www.cl.cam.ac.uk/~mgk25/unicode.html#linux
(und die folgenden Einträge)
-
Ok, danke für den Link.