Un étrange problème, je pense:ctypes python pur vs ctypes django
J'ai une bibliothèque C qui inverse un char *. Quand j'utilise des ctypes en python pur, j'obtiens la bonne solution. Cependant quand j'essaye le même code dans une vue de django j'obtiens une mauvaise réponse.
Python pur:
import sys
from ctypes import *
path = "library.so"
lib = cdll.LoadLibrary(path)
reverse = lib.reverse
reverse.restype = c_char_p
quand je l'utilise "inverse ('pepe')" Je reçois 'EPEP'
Avec django, avec le même code que je ne reçois que 'p'.
Une idée?
Pourriez-vous nous donner plus d'informations sur ce que signifie "Avec django"? Peut-être que dans quel contexte django vous utilisez "reverse"? –
Avec django implique l'utilisation de ce code dans une vue django. –
Django utilise unicode. Fondamentalement, il place un octet NULL après chaque caractère dans une chaîne. Il se peut que library.so ne voie pas la chaîne correctement. –