>  On 25 Apr 2017, at 6:16 pm, Matic Kukovec <[email protected]> wrote:
>  >
>  >
>  > >  On 25 Apr 2017, at 5:08 pm, Matic Kukovec <[email protected]> 
> wrote:
>  > >  >
>  > >  > Hi guys,
>  > >  >
>  > >  > I just noticed that when adding strings that contain null characters 
> ('\0') using the setText method,
>  > >  > QScintilla cuts off the string at the first null character it finds. 
> To be sure I opened the same text saved
>  > >  > to a file with Notepad++ and SciTE and there the null characters 
> appear.
>  > >  >
>  > >  > Is this a bug or should strings with null characters be handled 
> differently?
>  > >  > I used this example to for testing:
>  > >  > qscieditor.setText("Test\nText\nIn\n\0An\nQscintilla\nEditor")
>  > >
>  > >  Is that C++ or Python?
>  > >
>  > >  setText() uses the low-level Scintilla SCI_SETTEXT which accepts a '\0' 
> string, ie. you will get the same result if you used Scintilla.
>  > >
>  > >  Phil
>  >
>  > Hi Phil,
>  >
>  > I'm using Python3 and before I tried setText and now I tried as you 
> suggested:
>  > qscieditor.SendScintilla(SCI_SETTEXT, 
> bytes("Test\nText\nIn\n\0An\nQscintilla\nEditor", encoding="ascii"))
>  > and I get the same result.
>  > I looked into the C++ setText method and it uses this line:
>  > SendScintilla(SCI_SETTEXT, ScintillaBytesConstData(textAsBytes(text)));
>  > Is there maybe an error in how the ScintillaBytesConstData or textAsBytes 
> convert the text?
>  > I'm only guessing here.
>
>  You misunderstand. I was saying that the behaviour you see is the way 
> Scintilla works.
>
>  Phil

Are you sure?
Then how do SciTE and Notepad++ do this without cutting off at the first '\0' 
character as they also use Scintilla?

Thanks,
Matic

_______________________________________________
QScintilla mailing list
[email protected]
https://www.riverbankcomputing.com/mailman/listinfo/qscintilla

Reply via email to