C CSV API для Unicode - PullRequest
       32

C CSV API для Unicode

1 голос
/ 13 октября 2011

Мне нужен C API для управления данными CSV, которые могут работать с Unicode.Мне известно о libcsv (sourceforge.net/projects/libcsv), но я не думаю, что это будет работать для юникода (пожалуйста, исправьте меня, если я ошибаюсь), потому что не вижу использования wchar_t.

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 13 октября 2011

Похоже, что libcsv не использует строковые функции C для своей работы, поэтому он работает практически из коробки, несмотря на незнание mbcs / ws.Он обрабатывает строку как массив байтов с явной длиной.Это может в основном работать для определенных кодировок широких символов, которые дополняют байты ASCII для заполнения ширины (поэтому символ новой строки может быть закодирован как «\ 0 \ n», а пробел - как «\ 0»).Вы также можете закодировать ваши широкие данные как UTF-8, что должно немного облегчить задачу.Но оба подхода могут основываться на том, как libcsv идентифицирует пробелы и маркеры-разделители строк: он ожидает, что вы сообщите ему по байт-байту, смотрит ли он на пробел или терминатор, который не допускает многобайтовое кодирование пространства / термина,Вы можете исправить это, изменив библиотеку так, чтобы она передавала указатель на строку и длину, оставленную в строке, для ее функций тестирования пробела / члена, что было бы довольно просто.

...