TCP - Unicode – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

TCP - Unicode – C / C++ – Fórum – Programujte.comTCP - Unicode – C / C++ – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Lukasas0
Newbie
24. 7. 2011   #1
-
0
-

Zdravím,

Chtěl bych se zeptat či nemá někdo zkušeností s příjmáním Unicode kódováním přes TCP. Vím že odesílání Unicode znakůje

wchar_t prom = L"Text";
send (socket, (char *)prom, sizeof(prom), 0);

ale nevím jak unicode příjmout.

Nahlásit jako SPAM
IP: 46.13.20.–
m->29+6
Super člen
24. 7. 2011   #2
-
0
-

Všetko je len prúd bytov. Ide len o to ako to interpretuješ. Tipujem, že si už skúšal, ale ak hentak jednoducho posielaš dáta tak ich podľa mňa aj tak jednoducho prijmeš:

wchar_t data[DATA_SIZE];
ssize_t received = recv(socket, (char *)data, DATA_SIZE*sizeof(wchar_t), 0);

A inak, nemalo by to byť takto?

wchar_t *prom = L"Text";
send (socket, (char *)prom, wcslen(prom)*sizeof(wchar_t), 0);
Nahlásit jako SPAM
IP: 78.141.66.–
Lukasas0
Newbie
24. 7. 2011   #3
-
0
-

ale druhý atribut funkce recv je ukazatel na char ne wchar_t

Nahlásit jako SPAM
IP: 46.13.20.–
m->29+6
Super člen
24. 7. 2011   #4
-
0
-

Tak som to pretypoval 

Nahlásit jako SPAM
IP: 78.141.66.–
Lukasas0
Newbie
25. 7. 2011   #5
-
0
-

ano toto jsem již zkoušel (nepomáhalo) potom jsem si vzpomněl že jsem potřeboval přeskočit jeden krok a v bufferu zůstaly data takže se mi to načítalo špatně. Ale problém je v podstatě vyřešen  

Jen mi vrtá hlavou co je to za textem který se příjme.

Správně by zde mělo být jen yes¶ asi to budu muset ustříhnout s ¶ (původně to tak bylo v plánu


Nahlásit jako SPAM
IP: 46.13.20.–
m->29+6
Super člen
25. 7. 2011   #6
-
0
-

To za textom, je nejaký bordel v pamäti. Posielajú sa len čisté dáta a teda musíš za reťazec pridať ukončovací znak '\0'. Keďže pracuješ s wcharom tak asi L'\0'. Ale tým si nie som istý. Možno Unicode používa iný ukončovací znak.

Nahlásit jako SPAM
IP: 78.141.66.–
liborb
~ Redaktor
+18
Guru
26. 7. 2011   #7
-
0
-

Nepoužívá, taky je Unicode ukončen nulovým znakem.

Nahlásit jako SPAM
IP: 78.80.52.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 3 hosté

Podobná vlákna

TCP server, TCP klient v Linuxu — založil kocourOggy

UNICODE — založil Zdenek Farana

Unicode... — založil BigBear

C++ nahrazení Unicode — založil Kenvelo

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý