Ошибка разбора Graphml - PullRequest
       18

Ошибка разбора Graphml

1 голос
/ 21 января 2012

Я пытался создать файл graphml, используя библиотеки python и igraph. Я могу построить объект графа igraph и записать его в файл, используя:

g.write_graphml("mygraph.graphml")

Все кажется успешным, но когда я попытался прочитать файл обратно в python, используя:

g = Graph.Read_GraphML('mygraph.graphml')

Я получил эту ошибку:

igraph.core.InternalError: Error at .\src\foreign-graphml.c:1024: 
Input is not proper UTF-8, indicate encoding ! Bytes: 0xA0 0x3C 0x2F 0x64

Как я могу решить это, пожалуйста? Большое спасибо.

Ответы [ 2 ]

1 голос
/ 22 января 2012

Я уже вижу исходный код библиотеки. Я думаю, что библиотека может выводить только кодировку UTF-8 XML. Таким образом, все символы должны быть в кодировке UTF-8, и если в файле содержится какой-либо символ, отличный от UTF-8, возникают ошибки.

Решение:

Вы должны преобразовать всю строку в вашем приложении на Python в кодировку UTF-8 перед использованием, как описано здесь

Надеюсь, что это поможет.

0 голосов
/ 05 февраля 2012

Я думаю, что проблема должна быть связана с проблемой последовательности недопустимых байтов Unicode, но без вашего файла я могу только догадываться.

Я думаю, вы можете загрузить строку из файла, не являющегося кодировкой Unicode, и использовать ее напрямую без преобразования в кодировку Unicode. Пожалуйста, попробуйте конвертировать эти строки в Unicode, см. Этот пост.

занятой кот http://goo.gl/CFGYf

...