Thread View: pl.comp.lang.c
13 messages
13 total messages
Started by M.M.
Fri, 08 Apr 2016 16:57
utf8 to utf16
Author: M.M.
Date: Fri, 08 Apr 2016 16:57
Date: Fri, 08 Apr 2016 16:57
14 lines
1519 bytes
1519 bytes
Czym najlepiej w C++ konwertować utf8 do utf16? Że QT potrafi i jest przenośne - to wiem. Ale jakby miało być coś innego niż QT? To się u mnie nawet nie kompiluje: http://en.cppreference.com/w/cpp/locale/codecvt_utf8 Boost... chyba mógłby być... chociaż nie wiem, nie znam. Ciekawe na jakich platformach naprawdę działa i kompiluje się. Coś jeszcze poza qt i boostem? Pozdrawiam
Re: utf8 to utf16
Author: Jordan Szubert
Date: Fri, 08 Apr 2016 23:32
Date: Fri, 08 Apr 2016 23:32
15 lines
1326 bytes
1326 bytes
Dnia 08-04-2016 o 18:57:00 M.M. <mmarszik@gmail.com> napisał(a): > Czym najlepiej w C++ konwertować utf8 do utf16? > Że QT potrafi i jest przenośne - to wiem. Ale > jakby miało być coś innego niż QT? akurat konwersja utf8<-->utf16 powinna być na tyle prosta, że nie jestem przekonany czy ciągnięcie jakiejś biblioteki tylko do tego ma sens https://en.wikipedia.org/wiki/UTF-8#Description https://en.wikipedia.org/wiki/UTF-16#Description -- Jordan Szubert skype:jordanszubert
Re: utf8 to utf16
Author: M.M.
Date: Sat, 09 Apr 2016 08:37
Date: Sat, 09 Apr 2016 08:37
25 lines
2420 bytes
2420 bytes
On Saturday, April 9, 2016 at 1:33:00 AM UTC+2, Jordan Szubert wrote: > Dnia 08-04-2016 o 18:57:00 M.M. <mmarszik@gmail.com> napisał(a): > > > Czym najlepiej w C++ konwertować utf8 do utf16? > > Że QT potrafi i jest przenośne - to wiem. Ale > > jakby miało być coś innego niż QT? > > akurat konwersja utf8<-->utf16 powinna być na tyle prosta, że nie jestem > przekonany czy ciągnięcie jakiejś biblioteki tylko do tego ma sens > > https://en.wikipedia.org/wiki/UTF-8#Description > https://en.wikipedia.org/wiki/UTF-16#Description > Właśnie robię coś na tyle prostego, że zapragnąłem w ogóle wywalić wszystko, poza standardową biblioteką. Niestety konwersja UTF nie działa w moim środowisku, więc chyba, jak zwykle, użyję QT. Proponujesz napisać samodzielnie konwersję utf. Może źle zadałem pytanie. Po tym jak zrobię konwersję, to się okaże, że coś innego także nie działa na utf16. Więc mimo prostoty konwersji, wolałbym bibliotekę, która ogólnie wspiera locale. Chyba zdecyduję się na starą dobrą (bardzo dobrą!) bibliotekę QT. Pozdrawiam
Re: utf8 to utf16
Author: Piotr Wyderski
Date: Mon, 11 Apr 2016 10:30
Date: Mon, 11 Apr 2016 10:30
15 lines
1520 bytes
1520 bytes
M.M. wrote: > Proponujesz napisać samodzielnie konwersję utf. I dobrze proponuje. Konwersja między UTFami jest stosunkowo prosta, sam zrezygnowałem z pomocy bibliotek w tym zakresie. > Po tym jak zrobię konwersję, to się okaże, że coś innego > także nie działa na utf16. Więc mimo prostoty konwersji, wolałbym > bibliotekę, która ogólnie wspiera locale. No ale chcesz robić konwersje *między* UTFami, do czego nie potrzeba lokali, czy *na/z* UTF, co jest całkiem innym zadaniem? Pozdrawiam, Piotr
Re: utf8 to utf16
Author: Wiktor S.
Date: Mon, 11 Apr 2016 11:24
Date: Mon, 11 Apr 2016 11:24
12 lines
1233 bytes
1233 bytes
> akurat konwersja utf8<-->utf16 powinna być na tyle prosta, że nie > jestem przekonany czy ciągnięcie jakiejś biblioteki tylko do tego ma > sens Prosta, ale łatwo zrobić to źle. Prawidłowo robi się to w kolejności UTF8 -> UTF32 -> UTF16, i odwrotnie UTF16 -> UTF32 -> UTF8. -- Wiktor S.
Re: utf8 to utf16
Author: Piotr Wyderski
Date: Mon, 11 Apr 2016 11:27
Date: Mon, 11 Apr 2016 11:27
8 lines
1154 bytes
1154 bytes
Wiktor S. wrote: > Prawidłowo robi się to w kolejności UTF8 -> UTF32 -> UTF16, i odwrotnie > UTF16 -> UTF32 -> UTF8. Owszem, ale na poziomie pojedynczego codepointu, a nie całego stringa. Pozdrawiam, Piotr
Re: utf8 to utf16
Author: M.M.
Date: Mon, 11 Apr 2016 14:38
Date: Mon, 11 Apr 2016 14:38
27 lines
2551 bytes
2551 bytes
On Monday, April 11, 2016 at 12:30:14 PM UTC+2, Piotr Wyderski wrote: > M.M. wrote: > > > Proponujesz napisać samodzielnie konwersję utf. > > I dobrze proponuje. Konwersja między UTFami jest stosunkowo prosta, > sam zrezygnowałem z pomocy bibliotek w tym zakresie. > > > Po tym jak zrobię konwersję, to się okaże, że coś innego > > także nie działa na utf16. Więc mimo prostoty konwersji, wolałbym > > bibliotekę, która ogólnie wspiera locale. > > No ale chcesz robić konwersje *między* UTFami, do czego nie > potrzeba lokali, czy *na/z* UTF, co jest całkiem innym zadaniem? > > Pozdrawiam, Piotr Po zastanowieniu się, doszedłem do wniosku, że jest właśnie tak jak piszesz, czyli że konwersja nie jest aż taka straszna. Jednak nie potrafię przewidzieć wszystkich innych problemów jakie napotkam za jakiś czas. Nie wiem co będę chciał z tym stringiem robić np. za rok. W takiej bibliotece QT jest masa gotowców. Jeśli program oprę o QString, to mam większe prawdopodobieństwo, że w sytuacjach nieprzewidzianych znajdę gotowca. W STLu bez dodatkowych zabiegów nie kompiluje mi się zwykła konwersja. Pozdrawiam
Re: utf8 to utf16
Author: JDX
Date: Fri, 29 Apr 2016 20:17
Date: Fri, 29 Apr 2016 20:17
6 lines
1214 bytes
1214 bytes
On 2016-04-08 18:57, M.M. wrote: > Czym najlepiej w C++ konwertować utf8 do utf16? > Że QT potrafi i jest przenośne - to wiem. Ale > jakby miało być coś innego niż QT? Może sięgnąć do starego, dobrego C (bez plusów) i użyć iconv-a: http://www.gnu.org/software/libiconv/?
Re: utf8 to utf16
Author: M.M.
Date: Fri, 29 Apr 2016 20:24
Date: Fri, 29 Apr 2016 20:24
10 lines
1689 bytes
1689 bytes
On Friday, April 29, 2016 at 10:17:33 PM UTC+2, JDX wrote: > On 2016-04-08 18:57, M.M. wrote: > > Czym najlepiej w C++ konwertować utf8 do utf16? > > Że QT potrafi i jest przenośne - to wiem. Ale > > jakby miało być coś innego niż QT? > Może sięgnąć do starego, dobrego C (bez plusów) i użyć iconv-a: > http://www.gnu.org/software/libiconv/? Dziękuję, popatrzę. Pozdrawiam
Re: utf8 to utf16
Author: JDX
Date: Fri, 29 Apr 2016 20:37
Date: Fri, 29 Apr 2016 20:37
12 lines
1589 bytes
1589 bytes
On 2016-04-29 22:24, M.M. wrote: > On Friday, April 29, 2016 at 10:17:33 PM UTC+2, JDX wrote: >> On 2016-04-08 18:57, M.M. wrote: >>> Czym najlepiej w C++ konwertować utf8 do utf16? >>> Że QT potrafi i jest przenośne - to wiem. Ale >>> jakby miało być coś innego niż QT? >> Może sięgnąć do starego, dobrego C (bez plusów) i użyć iconv-a: >> http://www.gnu.org/software/libiconv/? > > Dziękuję, popatrzę. BTW. A czy QT przypadkiem nie używa (bądź może używać) „pod spodem” właśnie iconv-a do tego typu konwersji?
Re: utf8 to utf16
Author: M.M.
Date: Sat, 30 Apr 2016 06:54
Date: Sat, 30 Apr 2016 06:54
17 lines
2132 bytes
2132 bytes
On Friday, April 29, 2016 at 10:37:40 PM UTC+2, JDX wrote: > On 2016-04-29 22:24, M.M. wrote: > > On Friday, April 29, 2016 at 10:17:33 PM UTC+2, JDX wrote: > >> On 2016-04-08 18:57, M.M. wrote: > >>> Czym najlepiej w C++ konwertować utf8 do utf16? > >>> Że QT potrafi i jest przenośne - to wiem. Ale > >>> jakby miało być coś innego niż QT? > >> Może sięgnąć do starego, dobrego C (bez plusów) i użyć iconv-a: > >> http://www.gnu.org/software/libiconv/? > > > > Dziękuję, popatrzę. > BTW. A czy QT przypadkiem nie używa (bądź może używać) "pod spodem" > właśnie iconv-a do tego typu konwersji? Nie wiem, ale QT uchodzi za bibliotekę napisaną od podstaw. Jakbym miał zgadywać, to nie. Pozdrawiam
Re: utf8 to utf16
Author: JDX
Date: Sat, 30 Apr 2016 07:25
Date: Sat, 30 Apr 2016 07:25
11 lines
1879 bytes
1879 bytes
On 2016-04-30 08:54, M.M. wrote: [...] > Nie wiem, ale QT uchodzi za bibliotekę napisaną od podstaw. Jakbym > miał zgadywać, to nie. Rzuciłem okiem na opcje configure-a i wygląda na to, że QT chyba rzeczywiście nie korzysta z iconv-a (albo ma go wbudowanego w źródła „na twardo”). Co zaś się tyczy pisania od podstaw, to QT korzysta ze zlib-a, libpng, libjpeg, PCRE, freetype-a i jeszcze jakichś innych bibliotek, więc nie jest napisana zupełnie od podstaw. Z drugiej strony, raczej nie ma sensu pisać od nowa bibliotekę np. do PNG, skoro od dawna istnieje dobrze znany „standard”.
Re: utf8 to utf16
Author: M.M.
Date: Sat, 30 Apr 2016 11:02
Date: Sat, 30 Apr 2016 11:02
21 lines
2575 bytes
2575 bytes
On Saturday, April 30, 2016 at 9:25:54 AM UTC+2, JDX wrote: > On 2016-04-30 08:54, M.M. wrote: > [...] > > Nie wiem, ale QT uchodzi za bibliotekę napisaną od podstaw. Jakbym > > miał zgadywać, to nie. > Rzuciłem okiem na opcje configure-a i wygląda na to, że QT chyba > rzeczywiście nie korzysta z iconv-a (albo ma go wbudowanego w źródła "na > twardo"). Co zaś się tyczy pisania od podstaw, to QT korzysta ze zlib-a, > libpng, libjpeg, PCRE, freetype-a i jeszcze jakichś innych bibliotek, > więc nie jest napisana zupełnie od podstaw. Z drugiej strony, raczej nie > ma sensu pisać od nowa bibliotekę np. do PNG, skoro od dawna istnieje > dobrze znany "standard". Skoro zajrzałeś, to najwyraźniej tak jest. Jeśli są dobre biblioteki i nie mają wad prawnych, to faktycznie pisanie od nowa nie ma sensu. Chociaż czasami dobra biblioteka może udostępniać interfejsy niezbyt zgodne z przyjętymi konwencjami w bibliotece, a kolejna gruby wrapper może powodować kolejny spadek wydajności, więc o motywację do pisania od nowa znowu nie aż tak trudno. Pozdrawiam
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads