From: | bubu |
Date: | September 30th, 2008 - 12:11 pm |
---|
| | | (Link) |
|
Vēl jau arī fiška, ka wchar_t ne vienmēr ir 16-bit. GCC zem linukšiem vismaz wchar_t ir 32-biti.
Es katrā ziņā neesmu sapratis, kāpēc man būtu jāgrib lietot wchar_t (vai std::wstring). Parasti lietoju std::string ar utf-8 kodējumu, un papildus kādu mazu bibliotēku, kas ļauj darboties ar šo stringu (substr, iteratori) saprotot utf-8 čarus:
http://utfcpp.sourceforge.net/ Čakars var vienīgi sanākt, ja gribas lietot Unikodes variantu WinAPI funkcijām. Bet nu utf-8 uz ucs2 var arī relatīvi viegli pārkonvertēt.
From: | elfz |
Date: | September 30th, 2008 - 03:55 pm |
---|
| | | (Link) |
|
Man izskatās, ka viņa galvenais arguments ir pūrisms, tradīcijas un diezgan vārgais "It is obviously convenient that a wchar_t * or std::wstring should contain one "word" for each external glyph", bet es arī esmu no tās paaudzes, kas UTF-8 uzskata par the best thing ever, un turot visus tekstus utfos un operējot ar tiem kā ar utfiem, tas atrisinās visas svarīgās dzīves problēmas.
Čakars sanāk, kad jālieto Windowsu W apīšu un nedod dies A apīši un OSXu utf-8 apīši, (fopen piemēram ņem pretī char* kodētu iekš utf-8 pēc nokluss), un OSXu; "Unicode" apīši. Vienlaikus.
I repeat, kad ir jāatbalsta vairākas OS, kas sākas ar vārdu Windows un vairākas OS, kas sākas ar vārdu Mac, tad ir chakars. :) It sevišķi, ka c++ kompilatoru + libu izpratne arī mainās laiku gaitā un NT, XP, Vista tā ir dažāda un 10.4/10.5 procesā arī kautkāda huiņa notika. Nerunājot nemaz par to, ka programmētāji ir dažādās attīstības stadijās. Es zinu, es esmu.