🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #308651

Re: Usprawnienie klasy do Uniocode

#308651
From: keiichi
Date: Tue, 07 Jun 2016 15:41
32 lines
2309 bytes
W dniu 2016-06-05 o 14:49, Borneq pisze:
> W dniu 05.06.2016 o 14:16, Borneq pisze:

>> - w pętli dopóki pierwszy bajt czy słowo grupy opisującej znak jest
>> różne od 0, a co gdy znak zero będzie błędnie w środku grupy?

To samo, co w przypadku gdy błędny bajt będzie w środku grupy, albo w 
grupie znajduje się więcej bajtów niż trzeba. Jakoś obsłużyć wg potrzeb.

>> - jaką wielkość bufora 16-bitowego przydzielać dla wejściowego utf8 i
>> odwrotnie?

Pesymistycznie? 2x więcej bajtów, niż dla UTF-8.

>> - w jaki dobry, statystyczny sposób określić czy tekst bez BOM jest UTF8?

Co rozumiesz przez „statyczny”?

> Przy okazji - jak printfem wypisać znaki Unicode na konsolę lub do
> pliku?

Przenośnie? Zaopatrz się w jakąś bibliotekę. Przenośnie trudno zrobić 
(nawet korzystając z dobrodziejstw >= C++11). wchar_t zazwyczaj trzyma 
znaki w UTF-16 lub UTF-32 w zależności od systemu, char to już w ogóle 
wolna amerykanka zależna od bieżących ustawień locale (także na Windows, 
bo niektórzy się dziwią).
Nieprzenośnie, znając bieżące ustawienia? Zakoduj na sztywno ;)


Formalnie poczytać i zrozumieć, nawet jak użyć chcesz czegoś gotowego:
http://www.cl.cam.ac.uk/~mgk25/unicode.html
http://utf8everywhere.org/
Technical Details
Message-ID: <nj6pv4$fkv$1@node2.news.atman.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
References: <nj157c$qmb$1@node2.news.atman.pl> <nj1742$see$1@node2.news.atman.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.POSTED!not-for-mail
From: keiichi <keiichi100@poczta.USUNTO.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: Usprawnienie klasy do Uniocode
Date: Tue, 7 Jun 2016 17:41:23 +0200
Organization: ATMAN - ATM S.A.
Lines: 33
Message-ID: <nj6pv4$fkv$1@node2.news.atman.pl>
References: <nj157c$qmb$1@node2.news.atman.pl> <nj1742$see$1@node2.news.atman.pl>
NNTP-Posting-Host: staticline3273.toya.net.pl
Mime-Version: 1.0
X-Trace: node2.news.atman.pl 1465314084 16031 217.113.238.157 (7 Jun 2016 15:41:24 GMT)
X-Complaints-To: usenet@atman.pl
NNTP-Posting-Date: Tue, 7 Jun 2016 15:41:24 +0000 (UTC)
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0
In-Reply-To: <nj1742$see$1@node2.news.atman.pl>
X-Antivirus: avast! (VPS 160607-0, 2016-06-07), Outbound message
X-Antivirus-Status: Clean
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit