On 25 Apr 2017, at 10:08 pm, Phil Thompson <[email protected]> wrote: > > On 25 Apr 2017, at 7:06 pm, Matic Kukovec <[email protected]> wrote: >> >>> 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? > > You'd have to look at the SciTE source code. Maybe... > > http://www.scintilla.org/ScintillaDoc.html#BackgroundLoadSave
...or use append() rather than setText(). Phil _______________________________________________ QScintilla mailing list [email protected] https://www.riverbankcomputing.com/mailman/listinfo/qscintilla
