Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Extended Ascii Codes in QTextEdit
QtWS25 Last Chance

Extended Ascii Codes in QTextEdit

Scheduled Pinned Locked Moved Solved General and Desktop
22 Posts 3 Posters 11.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    mulfycrowh
    wrote on last edited by
    #1

    Hi,

    We find some threads about this topic.
    I tried :

    QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
    

    before sending the text to the QTextEdit but it doesn't display the extended ASCII codes.
    Many thanks for any help.

    kshegunovK 1 Reply Last reply
    0
    • M mulfycrowh

      Hi,

      We find some threads about this topic.
      I tried :

      QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));
      

      before sending the text to the QTextEdit but it doesn't display the extended ASCII codes.
      Many thanks for any help.

      kshegunovK Offline
      kshegunovK Offline
      kshegunov
      Moderators
      wrote on last edited by
      #2

      Hi,
      @mulfycrowh said in Extended Ascii Codes in QTextEdit:

      the extended ASCII codes

      What's this?

      Read and abide by the Qt Code of Conduct

      1 Reply Last reply
      0
      • hskoglundH Online
        hskoglundH Online
        hskoglund
        wrote on last edited by
        #3

        You mean ASCII codes > 127? you could do something like this:
        ascii

        1 Reply Last reply
        1
        • M Offline
          M Offline
          mulfycrowh
          wrote on last edited by
          #4

          Thank you. That's exactly what I meant !

          1 Reply Last reply
          0
          • M Offline
            M Offline
            mulfycrowh
            wrote on last edited by
            #5

            Is it the only way to achieve this ?

            1 Reply Last reply
            0
            • hskoglundH Online
              hskoglundH Online
              hskoglund
              wrote on last edited by
              #6

              Hmm you mean you don't like QChar? If you only want to use QString stuff, you could rewrite it (output looks the same) to:

                  QString s;
                  for (ushort u = 0; (u < 2048); ++u)
                      s += QString::fromUtf16(&u,1);
              
                  ui->textEdit->setText(s);
              
              1 Reply Last reply
              1
              • M Offline
                M Offline
                mulfycrowh
                wrote on last edited by
                #7

                I tried this:

                QString s;
                s = "test ";
                s += QChar(225);
                ui.Test->setText(s);
                

                It does display "test a", a with accent instead of "test ß".

                kshegunovK 1 Reply Last reply
                0
                • M mulfycrowh

                  I tried this:

                  QString s;
                  s = "test ";
                  s += QChar(225);
                  ui.Test->setText(s);
                  

                  It does display "test a", a with accent instead of "test ß".

                  kshegunovK Offline
                  kshegunovK Offline
                  kshegunov
                  Moderators
                  wrote on last edited by
                  #8

                  Because the 225th char in the utf-16 table[1] is an á. QChar is a single character (2 bytes) in utf-16.
                  [1]: http://asecuritysite.com/coding/asc2

                  Read and abide by the Qt Code of Conduct

                  M 1 Reply Last reply
                  0
                  • kshegunovK kshegunov

                    Because the 225th char in the utf-16 table[1] is an á. QChar is a single character (2 bytes) in utf-16.
                    [1]: http://asecuritysite.com/coding/asc2

                    M Offline
                    M Offline
                    mulfycrowh
                    wrote on last edited by
                    #9

                    @kshegunov Thank you. So how can I manage it to get the character ß ?

                    kshegunovK 1 Reply Last reply
                    0
                    • M mulfycrowh

                      @kshegunov Thank you. So how can I manage it to get the character ß ?

                      kshegunovK Offline
                      kshegunovK Offline
                      kshegunov
                      Moderators
                      wrote on last edited by kshegunov
                      #10

                      You go to the wiki page and at the bottom you find what's the codepoint of said character in unicode. Then you google that and you get this nifty page. Finally you get the code for the character and insert in as an argument of QChar:

                      s += QChar(223);
                      

                      Read and abide by the Qt Code of Conduct

                      1 Reply Last reply
                      0
                      • M Offline
                        M Offline
                        mulfycrowh
                        wrote on last edited by
                        #11

                        I tried this:

                        		QString s;
                        		s = "test ";
                        		ushort u = 223;
                        		s += QString::fromUtf16(&u, 1);
                        		u = 147;
                        		s += QString::fromUtf16(&u, 1);
                        		ui.Test->setText(s);
                        

                        ß is displayed but not the second one (").
                        Does it show that extended characters' display in QTextEdit is not possible ?

                        kshegunovK 1 Reply Last reply
                        0
                        • M mulfycrowh

                          I tried this:

                          		QString s;
                          		s = "test ";
                          		ushort u = 223;
                          		s += QString::fromUtf16(&u, 1);
                          		u = 147;
                          		s += QString::fromUtf16(&u, 1);
                          		ui.Test->setText(s);
                          

                          ß is displayed but not the second one (").
                          Does it show that extended characters' display in QTextEdit is not possible ?

                          kshegunovK Offline
                          kshegunovK Offline
                          kshegunov
                          Moderators
                          wrote on last edited by
                          #12

                          @mulfycrowh said in Extended Ascii Codes in QTextEdit:

                          Does it show that extended characters' display in QTextEdit is not possible ?

                          Firstly, there's no "extended characters", there are different encodings for representing text and Qt uses utf-16. Secondly, showing text in QTextEdit is possible and if the font you're using has a glyph for the character you're trying to display, then the character will be displayed. And finally, have you checked what is corresponding to the number 147 in the first utf-16 table I've posted as a link? I see no corresponding character for that code, so what are you expecting to see exactly? Where do you get 147?

                          Read and abide by the Qt Code of Conduct

                          1 Reply Last reply
                          0
                          • M Offline
                            M Offline
                            mulfycrowh
                            wrote on last edited by kshegunov
                            #13

                            I found this table:

                            alt text

                            and you get the characters with the matching decimal code

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              mulfycrowh
                              wrote on last edited by
                              #14
                              This post is deleted!
                              1 Reply Last reply
                              0
                              • M Offline
                                M Offline
                                mulfycrowh
                                wrote on last edited by
                                #15
                                This post is deleted!
                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  mulfycrowh
                                  wrote on last edited by
                                  #16

                                  Explanation: I have a file with hex bytes equal to 93, 94, 96 ... and I would like to display the matching characters into a QTextEdit.

                                  1 Reply Last reply
                                  0
                                  • M Offline
                                    M Offline
                                    mulfycrowh
                                    wrote on last edited by
                                    #17

                                    I found the solution in adding fromLatin1()

                                    1 Reply Last reply
                                    0
                                    • M Offline
                                      M Offline
                                      mulfycrowh
                                      wrote on last edited by
                                      #18

                                      With fromLatin1(), it's better: I have no more losange with ? but, for example hex codes 93 and 94 are not displayed.

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        mulfycrowh
                                        wrote on last edited by
                                        #19

                                        From Wikipedia, I copy and paste some text.
                                        In this text I have the character (Hex 92) (') and the character (Hex E9) (é).
                                        The second one is displayed. The first one is replaced by a chinese character.
                                        Why ?

                                        1 Reply Last reply
                                        0
                                        • M Offline
                                          M Offline
                                          mulfycrowh
                                          wrote on last edited by
                                          #20

                                          I think having found the perfect solution :)

                                          I copied and pasted many articles from Wikipedia in French, English and German and it runs.
                                          The solution is to use:

                                          FromLocal8Bit()
                                          
                                          kshegunovK 1 Reply Last reply
                                          1

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved