2
이 생성 된 C 라이브러리를 사용하고 있습니다. swig
입니다. 임의의 파이썬 문자열을 C 라이브러리에 전달하려고합니다. 는 C-도서관이 데이터를 처리하는 char
를 사용SWIG : 이진 데이터 전달에 실패했습니다.
\xff\x0A\82
:이 문자열은 예컨대 인쇄 할 수없는 문자가 포함되어 있습니다. 변환 나는 꿀꺽 꿀꺽 타입 맵을 다음 사용
%typemap(in) (char *data, int size)
{
if(!PyUnicode_Check($input))
{
PyErr_SetString(PyExc_ValueError, "String value required");
return NULL;
}
$1 = PyBytes_AsString(PyUnicode_AsUTF8String($input));
$2 = PyUnicode_GetSize($input);
}
이 부분적으로 작동합니다. 0x00과 0x7F 사이의 값만 작동합니다. 0xFF 값이 0xC3 인 잘못된 값으로 변환됩니다.
0x00 ~ 0xFF에 대한 제안 사항이 있습니까?